所以,让我们说我有一个数组:
String Array[] = {"Dog goes woof", "Cat goes meow", "Cow goes moo", "Etc..."};
我连接了一个Button和一个TextView,这样当按下按钮时我可以说:
public void onClick(View v) {
TextView.setText(Array[1]);
}
然后用#34来填充TextView; Cat喵喵"。但我现在想要按钮来决定什么应该根据已经存在的内容填充TextView。所以,让我们说我在TextView中显示了Array [0],因此它说" Dog goof woof"。然后,我想要一个能够识别出Array [0]的if-test,然后将它改为Array [2]。如果显示Array [2],则会将其更改为Array [1],依此类推。
我在如何设置if-test方面遇到了一些问题,以及我应该如何表达它以便它能够识别我在TextView中寻找的内容。我确实想要寻找数组[X]或数组[Y],而不是像#34;狗一样的字符串"。基本上说的是(警告:前面的糟糕的seudo代码):
if TextView contains Array[X]
then TextView.setText(Array[Y])
else if TextView contains Array[Y]
then TextView.setText(Array[Z])
else TextView.setText(Array[X])
答案 0 :(得分:0)
我很容易理解你的要求,这就是你需要的:
final Button yourButton= findViewById(R.id.yourButtonID);
final String Array[] = {"Dog goes woof", "Cat goes meow", "Cow goes moo", "Etc..."};
final TextView yourTextView = findViewById(R.id.yourTextViewID);
yourButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int position = 0;
if(textView.getText() == null)
{
textView.setText(Array[1]); // initial value
}
else{
for(int i=0;i<Array.length;i++){
if(Objects.equals(textView.getText(),Array[i])){
position=i; //got the selected position
break;
}
}
if(position<Array.length-1){
textView.setText(Array[position+1]);
}
else{
textView.setText(Array[position-1]);
}
}
}
});
这将检查是否存在初始值,如果是,那么它将检查所选位置,如果位置小于最后一个项目,那么它将增加一个,如果最后一个项目被选中,它将减少一。 我已经测试了它并且它正在工作,但仍然可以随意询问。