我遇到了这个问题。我创建了一个带有两个按钮和一个 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/