android 中View.setID,与getID

来源:互联网 发布:240控台编程视频 编辑:程序博客网 时间:2024/03/29 15:14

private Map<String, TextView> mapBt = new HashMap<String, TextView>();

bt.setOnClickListener(new OnClickListener() {


@Override

public void onClick(View v) {

// TODO Auto-generated method stub

for (Stringk : mapBt.keySet()) {

if (v.getId() ==mapBt.get(k).getId()) {

columnSign = Integer.parseInt(k);

}

}

。在监听事件中想用ID来找到MAP中对应view的时候发现getid取的值永远是-1.

研究了下发现这里的getID一般是指的取你布局中设置的ID。如果 是代码中直接NEW出来的控件,他的geiid取的值是默认的-1.并非是内存中得id=345134512132之类的那个值。

所以当代码中new得控件后面需要通过getid来判断是否为某个控件的时候需要在new的时候给他利用setid()方法设置id。

0 0
原创粉丝点击