如何在ListView中的位置X检索视图?我不想膨胀一个新的,只需检索屏幕中可见的单元格以编程方式更改一些参数
答案 0 :(得分:2)
由于ListView中的视图被重新使用/重新循环。没有从ListView获取视图引用的直接方法。
如果您想要访问视图,则需要扩展ArrayAdapter
,然后覆盖getView
。在那里你应该调用super.getView
并编写自己的自定义代码。
如果我们真的需要控制而不是尝试扩展BaseAdapter
或CursorAdapter
。
答案 1 :(得分:1)
找到一个肮脏的解决方案:
调查行的列表视图列表(直到显示)
lv=getListView();
for (int i=0;i <lv.getChildCount();i++){
if (((TextView)lv.findViewById(R.id.my_hidden_textview)).getText.equals(mykey)){
// view found
} else {
// schedule another survey "soon"
}
}
对于时间表,您可以使用以下内容:
final int RETRY_DELAY=100;
new Handler(){
public void handleMessage(Message msg){
if (msg.what<0) return; //something went wrong and retries expired
lv=getListView();
for (int i=0;i <lv.getChildCount();i++){
if (((TextView)lv.findViewById(R.id.my_hidden_textview)).getText.equals(mykey)){
//result = lv.findViewById(R.id.my_hidden_textview);
} else {
this.sendEmptyMessageDelayed(msg.what-1,RETRY_DELAY);
}
}
}
}.sendEmptyMessageDelayed(10,RETRY_DELAY);
正如我所说,这是一个非常难看的解决方案,但它有效
答案 2 :(得分:1)
我没有清楚地了解你的问题。但据我所知,我建议你在线性布局中使用框架布局。您可以使用其他框架布局来进行操作。