2013-10-20 70 views
0

当我点击图像时,它不会改变显示的textview,我哪里出错了?onClickListener onclicklistener Android Java编程

**List<ImageView> fields = new ArrayList<ImageView>(); 
    for(int i = 0; i < 64; i++) { 
     try{ 
      id = R.id.class.getField("square" + (i+1)).getInt(0); 
      views.add((ImageView)findViewById(id)); 
      ((View) fields).setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View fields) { 
        for(int i=0; i < 64; i++) 
        { 
         display = (TextView) findViewById(R.id.textView1); 
         display.setText("square" + i); 
        } 
       } 
      }); 
     } 
     catch(Exception e){} 

    }** 

} 

}

+0

这是什么显示? square63? – Blackbelt

+0

使用'display.append(“\ n square”+ i);'检查textview文本是否更新 –

+0

它应该显示点击的方块。这是一个棋牌游戏,我有64个方块。例如,如果我点击第一个方块,它应该显示square1和最后一个方块63 – Rownie

回答

1

它看起来就像是增加了onClick listener to the ArrayList of views,你不添加图像。变化

((View) fields).setOnClickListener 

findViewById(id).setOnClickListener 
+0

嗨thx的帮助,但我做了你说的它是可点击的,但它只显示square63每个广场我点击。我想要的OnClickListener要做的是show square1如果我点击square1等。 – Rownie

+0

代码中存在另一个问题。对于每次点击,它会遍历0-63次,将点击的图像文本设置为64次。所以你只能看到最后一组是“方形63”。在循环中,您需要将传递给'onClick'的'fields'与'ArrayList'中的项目进行比较,以查看单击了哪个图像,然后仅为找到的项目发出'setText'。 – Zymurgeek