public void onCreate(Bundle savedInstanceState)
{
teachersData=new TeachersData(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ArrayList<Data> classid=teachersData.listClass();
ArrayAdapter<Data> adapter = new ArrayAdapter<Data>(this, android.R.layout.simple_list_item_1, classid);
setListAdapter(adapter);
public void onClick(DialogInterface dialog, int id) {
String className = edit.getText().toString();
teachersData.insert(null, className, 0, 0, null);
Toast.makeText(getBaseContext(), className + " Added.", Toast.LENGTH_LONG).show();
dialog.cancel();
}
})
我认为它涉及到目前为止我的搜索中的notifyDataSetChanged(),但我无法弄清楚如何实现它。
答案 0 :(得分:1)
您在更新数据并且想要显示新数据时调用notifyDataSetChanged()
。获得新数据后,您再次执行adapter = new ArrayAdapter<Data>(this, android.R.layout.simple_list_item_1, classid);
,这意味着您正在为适配器提供新数据,然后致电notifyDataSetChanged()
以使ListView
重新填充新数据。< / p>
答案 1 :(得分:1)
您可以拨打adapter = new ArrayAdapter<Data>(this, android.R.layout.simple_list_item_1, classid)
,然后拨打listView1.setAdapter(adapter)
,这会使列表视图自行刷新。