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添加更多值.
| 归档时间: |
|
| 查看次数: |
4630 次 |
| 最近记录: |