无法更新列表视图中的项目视图

时间:2014-01-21 21:16:35

标签: android android-listview

我正在尝试使用ListView方法更新onItemClick中的项目,如下所示:

((ListView)findViewById(R.id.list)).setOnItemClickListener(new AdapterView.OnItemClickListener()
{
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long l)
    {                    
        view.findViewById(R.id.line_load_progress).setVisibility(View.VISIBLE);
        ...
    }
});

在item的xml布局中,我有以下

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:orientation="vertical">
<ProgressBar
        android:id="@+id/line_load_progress"
        android:visibility="invisible"
        android:layout_width="match_parent"
        android:layout_height="5dp"
        android:indeterminate="true"
        style="@android:style/Widget.Holo.ProgressBar.Horizontal"/>
...
</LinearLayout>

我想要发生的是显示进度条,因为点击某个项目将启动与网络IO的AsyncTask。不幸的是,在视图上设置对可见的可见性没有任何影响

有人知道为什么列表视图没有更新,我可以用它做什么?

1 个答案:

答案 0 :(得分:0)

基本上你不能直接改变列表视图中的每个元素,你需要通知列表视图有变化,它会调用它的方法进行更改

并且您可以创建包含项目位置的索引变量,因此在getView方法中,您可以指定单击哪个列表项并仅更改此项目的布局

相关问题