Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
getview()中的android刷新列表视图适配器_Android_Android Listview_Listadapter - Fatal编程技术网

getview()中的android刷新列表视图适配器

getview()中的android刷新列表视图适配器,android,android-listview,listadapter,Android,Android Listview,Listadapter,我在adapter类中有一个自定义列表视图适配器和一个图像按钮。当我点击图像按钮时,监听器应该重新加载列表视图。我需要在适配器类的getview()中重新加载列表视图。因此,除了在listActivity类中使用notifyDataSetChanged()之外,我还需要知道其他选项 谢谢如果getView()中加载了一行,您想刷新listview中的一个单元格,还是想刷新整个listview 看看这个: 在活动中创建一个静态处理程序,该处理程序调用一个方法,该方法重新加载listview,并在需

我在adapter类中有一个自定义列表视图适配器和一个图像按钮。当我点击图像按钮时,监听器应该重新加载列表视图。我需要在适配器类的getview()中重新加载列表视图。因此,除了在listActivity类中使用notifyDataSetChanged()之外,我还需要知道其他选项


谢谢

如果getView()中加载了一行,您想刷新listview中的一个单元格,还是想刷新整个listview

看看这个:

在活动中创建一个静态处理程序,该处理程序调用一个方法,该方法重新加载listview,并在需要时从适配器向该处理程序发送消息

handler = new Handler() {
            public void handleMessage(Message paramAnonymousMessage) {
                switch (paramAnonymousMessage.what) {
                case 1:
                    populateList();
                    break;
                }
            }
        };



 public void populateBill() {
            MyBasketAdapter adapter = new MyBasketAdapter(this, basketList);
            listView = (ListView) findViewById(android.R.id.list);
            listView.setAdapter(adapter);
}
在适配器类内部。比如说,

button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                    Message msg = Message.obtain();
                    msg.what = 1;
                    MyActivity.handler.sendMessage(msg);
            }
        });

这很简单,只要在适配器类中编写一个方法,并在删除或添加列表中绑定到适配器的任何内容时调用它get view,然后在列表中更改后使用notifyDataSetChanged

    public void updateResults(ArrayList<CustomList> results) {
             // assign the new result list to your existing list it will work 
                           notifyDataSetChanged();
                          }
public void updateResults(ArrayList结果){
//将新的结果列表分配给现有列表,它将起作用
notifyDataSetChanged();
}

您需要在适配器上调用notifyDataSetChanged(),我无法在适配器类方法getView()中调用此函数。我正在适配器的get view()方法中调用一个图像按钮click listener,因为我需要刷新列表视图。我想在适配器类的getView()方法中刷新整个listview。最后我得到了它,用于再次启动列表视图活动。这在使用适配器上下文的适配器类中是可能的;在getView中,notifyDataSetChanged()不反映listview中的更改