我的Linearlayout中有8个TextView,我想要实现的是,只要用户点击任何TextView,就应该使用下面的下一个Textview更新它... 我正在尝试制作简单的游戏,其中图像将被随机显示,用户必须从列表中找到图像名称显示为不同的8 TextView ... 例如:如果有8个带有列表狗,猫,自行车,马,牛等的TextView ..并且说Cat的图像已经出现然后我想让cat消失现在每个textview应该在上面一行更新,所以我可以添加更多的视图最后...
我希望不要混淆,因为我在这里感到困惑......
答案 0 :(得分:0)
如果将所有TextView放在数组或列表中,那么它就变成了简单的数组操作:
public void onClick(View pressed){
boolean tvFound = false; //have we found the clicked tv yet?
for(int i=0;i<mTextViews.length;i++){ //loop through all tvs
if(pressed.getId() == mTextViews[i]){ //if this is the tv that was clicked on
tvFound = true;
}
if(tvFound){ // if we have found the tv that was clicked on
if(i<mTextViews.length-1){ //if we arent on the last tv
mTextViews[i].setText(mTextviews[i+1].getText()); //then replace txt with next tvs text
}else{ //if we ARE on the last tv
mTextViews[i].setText(""); //replace text with nothing
}
}
}
}
我还想注意,如果你不想遍历所有TextViews来找到被点击的那个,你可以将每个TextView的ResId映射到它在数组中的索引,然后你可以操作只是必要的TextViews。