ListView不会在notifyDataSetChanged上刷新

Roh*_*ish 1 android listview adapter

ListViewnotifyDataSetChanged();调用时似乎没有刷新,但在适配器再次设置时会刷新.

在我的Activity中,onCreate我初始化了我的ListView和我的适配器.然后我有这个Hanler每秒检查新值.listview.setAdapter(arrayAdapter);有效,但arrayAdapter.notifyDataSetChanged();没有做任何事情.

这是代码:

    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

                     lv = (ListView) findViewById(R.id.listView1);

            arrayAdapter = new ArrayAdapter<Integer>(this,android.R.layout. simple_list_item_1, myIntegers);
            lv.setAdapter(arrayAdapter);
    }

    private Handler handler = new Handler() {

            @Override
            public void handleMessage(Message msg) {
                if (msg.what == DIS){
                    handler.sendEmptyMessageDelayed(DIS, 1000);
                    if(!refresh()){
                        handler.removeMessages(DIS);
                    }
                }
            }
        };

   public boolean refresh(){

        if(ports.isEmpty()){
            return false;
        }else{
            listview.setAdapter(arrayAdapter); //WORKS
    arrayAdapter.notifyDataSetChanged(); // DOESN'T WORK
            return true;
            }
    }
Run Code Online (Sandbox Code Playgroud)

所以我想知道如何使用它notifyDataSetChanged,因为我读到它是正确的方法,并且无论如何即使setAdapter它确实有效,它使我的listview每次刷新时都会跳转到开头.

编辑:

为了澄清事情,我正在为myIntegers添加更多值.

Joe*_*oel 5

请尝试使用该adapter.add()方法添加值.我不认为你可以修改用于创建适配器的数组,然后期望它保存更新的实例来更新视图.祝你好运!