也许这并不难,但我无法解决我的列表问题。我从列表中得到了一个Listview。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 2) {
String kpn = data.getStringExtra("kupeno");
txtddtyKupeNo.setText(kpn);
}
if (resultCode == 3) {
ArrayList<BuzagiKayitDBean> arraylist = data.getParcelableArrayListExtra("mylist");
adapter = new BuzagiListAdapter(dty, BuzagiKayitActivity.this);
for (BuzagiKayitDBean item : arraylist) {
dty.add(item);
}
if (buzlist.getCount() > 0) {
buzlist.setAdapter(adapter);
adapter.notifyDataSetChanged();
} else {
buzlist.setAdapter(adapter);
}
}
}
listview没有任何变化?我做错了什么?tyvm。
编辑(像这样更改,仍然没有刷新。我在列表中有2个项目,但只显示1个)编辑2(升级了代码,但仍然无法工作)
首先,尽快初始化adapter
,添加调用setAdapter();
然后,当您准备好数据时,为您的适配器添加一种方法,就像appendList(List<T> list)
一样,将数据附加到适配器中!
public void appendList(DailyStories dailyStories) {
//todo addList()
notifydatasetChanged();
}
我建议你用RecycleView
来代替ListView
,它更强大!!
您必须更改您的逻辑,因为如果每次输入这种代码的平静buzlist.getCount() > 0
,您的adapter
将是您没有初始化或设置适配器的null
。或者,无论哪种方式,您都必须设置适配器,并且当您的列表为>0时。