当我将项目添加到列表视图时,列表视图不会显示我添加的项目。当我将项目添加到适配器时,我想在listview中看起来...但它不起作用。我的失败在哪里?有关于Listview(添加/删除/编辑)示例的任何示例吗?
适配器代码
android.content.Context Context;
LayoutInflater inflater;
ArrayList<Item> Items=new ArrayList<>();
public MyAdapter(Context Context)
{
this.Context=Context;
}
@Override
public int getCount() {
return Items.size();
}
@Override
public Object getItem(int position) {
return Items.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
public void AddItem(Item item)
{
Items.add(item);
MyAdapter.this.notifyDataSetChanged();
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ImageButton BtnSil;
inflater=(LayoutInflater) Context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view=inflater.inflate(R.layout.fragment_lstview,parent,false);
BtnRemove=(ImageButton)view.findViewById(R.id.Remove);
BtnRemove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Urunler.remove(position);
MyAdapter.this.notifyDataSetChanged();
}
});
return view;
}
项目添加代码
adapter.AddItem(SecilenUrun);
答案 0 :(得分:0)
它应该更新。虽然重建视图是一个巨大的浪费和错误,它应该工作。最可疑的是getItemId(int position)返回0.如果视图将id视为静态,通常会导致无更新,并且屏幕上的值没有更改。通常,默认值为返回位置,或项目的一些正确的散列值。
但是,当然应该更新。尽管所有条目看起来都相同,但Urunler会为该位置调用删除。除了物品数量之外,这看起来并没有什么不同。