如何在android中刷新listview?

时间:2016-08-31 02:52:35

标签: android listview listview-adapter

我在android中使用ListView

当我点击按钮时,我需要刷新Listview。 但它没有用。

@Override
protected void onPostExecute(final String result) {
    super.onPostExecute(result);

final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1);

Button refBtn = (Button) findViewById(R.id.refresh);
refBtn.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) {
         adapter.notifyDataSetChanged();
         adapter.notifyDataSetInvalidated();
     }
});

和第二个问题。

没有按钮点击,或许,是否可以始终更新listview?

如果我更改了数据,请更新我的列表视图。

请给我建议

如果您想了解更多信息。请评论

感谢。

2 个答案:

答案 0 :(得分:0)

onClick()方法中尝试显示tost,以测试它是否显示。

为什么不初始化视图(findViewById),在onCreate()方法中设置clilk监听器。

你的第二个问题,虽然我的建议可能不推荐,但它确实有效。

之前我有同样的问题,我尝试使用TimerTimerTask。代码会自动运行。

final Handler handler = new Handler() {
        @Override
        public void handleMessage(android.os.Message msg) {
            // TODO Auto-generated method stub
            update();
        }
    };

    Timer timer = new Timer();
    TimerTask task = new TimerTask() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            handler.sendEmptyMessage(0);
        }
    };
    timer.schedule(task, 3000, 1500);

答案 1 :(得分:0)

final ArrayAdapter<String> adapter中的onPostExecute未附加到任何ListView(除非您没有显示完整代码)

使用adapter附带的ListViewadapter

中使用的listview.setAdapter(adapter)