有没有办法从ListView位置获取单个整个视图?

时间:2014-01-17 12:18:28

标签: android listview view

我有一个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");

} 

2 个答案:

答案 0 :(得分:4)

在此处尝试:首先将setAdapter设置为ListView,而不是yourListView.getItemAtPosition(index);yourAdapter.getView(int position, View convertView, ViewGroup parent)

答案 1 :(得分:1)

您可以使用此

adapter.getView(index, null, null);

请注意,您正在缩短适配器/视图系统。这不是一个好主意,因为您要求的视图可能实际上不存在于列表视图中。请记住,列表视图可以包含数百万个项目。那些并非都存在。只有几个可见的视图,当你滚动时,android会回收它们。因此,可能需要重新考虑如何解决这个问题,并考虑到这一点。