我有一个ListView,一个适配器,当然还有一个管理它的Activity。
如何从我的Activity中获取某个位置的视图来更改Activity中的某些内容?
我知道我可以进行更改然后执行adapter.notifyDataSetChanged()
,但我希望将整个视图恢复到我的活动
例如:
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");
}
答案 0 :(得分:4)
在此处尝试:首先将setAdapter设置为ListView,而不是yourListView.getItemAtPosition(index);
或yourAdapter.getView(int position, View convertView, ViewGroup parent)
答案 1 :(得分:1)
您可以使用此
adapter.getView(index, null, null);
请注意,您正在缩短适配器/视图系统。这不是一个好主意,因为您要求的视图可能实际上不存在于列表视图中。请记住,列表视图可以包含数百万个项目。那些并非都存在。只有几个可见的视图,当你滚动时,android会回收它们。因此,可能需要重新考虑如何解决这个问题,并考虑到这一点。