以用户身份更新文本视图单击它

时间:2012-02-22 17:12:01

标签: android android-layout

我的Linearlayout中有8个TextView,我想要实现的是,只要用户点击任何TextView,就应该使用下面的下一个Textview更新它... 我正在尝试制作简单的游戏,其中图像将被随机显示,用户必须从列表中找到图像名称显示为不同的8 TextView ... 例如:如果有8个带有列表狗,猫,自行车,马,牛等的TextView ..并且说Cat的图像已经出现然后我想让cat消失现在每个textview应该在上面一行更新,所以我可以添加更多的视图最后...

我希望不要混淆,因为我在这里感到困惑......

1 个答案:

答案 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。