android - 显示某个TextView时如何使按钮消失?

标签 android eclipse button textview

我遇到了这个问题。我创建了一个带有两个按钮和一个 TextView 的 Activity 。按下“Next”按钮可更改 TextView,而“Previous”按钮用于将 TextView 改回其原始状态(即 textview1)。但是,当在显示 textview1 时按下“Previous”或在显示 textview2 时按下“Next”时,应用程序会出错并因此关闭。我现在想要实现的是当 textview1 打开时使按钮“上一个”消失,当 textview2 打开时按钮“下一个”消失。

这是我目前使用的类:

package com.example.test8;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Typeface;
import android.view.Menu;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageButton;
import android.widget.TextView;

public class Main extends Activity {
    private static final String[] Texts= 
        {"textview1",
         "textview2"
        };

int textIdx = 0;

TextView Text;
ImageButton Next;
ImageButton Previous;

public static String getText(int idx) { 
    return Texts[idx]; 
} 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final TextView text = (TextView) findViewById(R.id.text);
    ImageButton Next = (ImageButton) findViewById(R.id.Next);
    ImageButton Previous = (ImageButton) findViewById(R.id.Previous);
    Text.setText(getText(textIdx));

    Next.setOnClickListener(new View.OnClickListener() {  
        public void onClick(View v) { 
        textIdx++; 
        Text.setText(getText(textIdx)); 
        } 
    }); 

    Previous.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
        textIdx--;
        Text.setText(getText(textIdx)); 
        }
        });

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

我考虑过使用 else if 语句,但我无法实现,因为我缺乏知识和经验。如果有人可以在这里帮助我,那就太好了。提前致谢。

最佳答案

你可以只使用一个简单的if语句

     Next.setOnClickListener(new View.OnClickListener() {  
            public void onClick(View v) { 
            if(textIdx == 0)
            {
                textIdx++; 
                Text.setText(getText(textIdx)); 
                Next.setVisibility(View.INVISIBLE);
                Previous.setVisibility(View.VISIBLE);
            }
            } 
        }); 

        Previous.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

            if(textIdx == 1)
            {
                textIdx--;
                Text.setText(getText(textIdx)); 
                Next.setVisibility(View.VISIBLE);
                Previous.setVisibility(View.INVISIBLE);
            }
            }
            });

关于android - 显示某个TextView时如何使按钮消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14060771/

相关文章:

android - 如果应用程序的 'process name' 与 'package name' 不同,如何获取它?

android - 在android中混合音频

android - 在 React Native 中找不到 intellij-core.jar

ios - 在 Swift 中为操作表创建一行多个按钮

java - setOnClickListener() 不起作用

javascript - 使用 Tampermonkey Chrome 循环 "automatically clicks a specific button"的 jquery 代码

java - 如何从单个代码库制作多个 Android 应用程序?

java - 如何在 Java 中导入 Google Cloud 客户端库

java - 如何在ubuntu中使用eclipse luna配置android SDK?

eclipse - Mat 无法打开转储文件