【发布时间】:2014-01-17 12:18:28
【问题描述】:
我有一个 ListView、一个适配器,当然还有管理这一切的 Activity。
如何从我的 Activity 中获取某个位置的视图以更改 Activity 中的某些内容?
我知道我可以进行更改,然后执行 adapter.notifyDataSetChanged(),但我希望整个视图返回到我的 Activity
例如:
private void changeText(int index){
View view=adapter.giveMeBackMyView(index); //that's what I'm trying to find
TextView tv=(TextView) view.findViewById(R.id.listTextView);
tv.setText("changed");
}
【问题讨论】:
-
查看getFirstVisubleItem,它是第一个子视图
-
您可以获得所有可见视图,但 listview 会重复使用这些视图并更改它们,这会给您带来麻烦。就像您滚动时一样,更改将消失或其他项目将被更改
-
您是否尝试过使用adapter.getView(int position, View convertView, ViewGroup parent)。但是您应该在视图中更改后立即对数据对象进行更改,以使更改成为永久性的.