gpt4 book ai didi

android - notifyDatasetChanged() id 不工作

转载 作者:搜寻专家 更新时间:2023-10-30 23:48:14 24 4
gpt4 key购买 nike

我必须从数据库中获取数据并将其填充到 ListView 中。但是每次我运行它时,它都会将数据添加到以前的数据中......

例如..第一轮:-A乙C

第二次运行:-A乙CA乙C

等等..

这是我在使用 NotifyDatasetChanged() 的地方使用的代码

List<Tag> allTags = db.getAllTags();
for (Tag tag : allTags) {


lv1=(ListView)findViewById(R.id.lv1);


arraylist=new ArrayAdapter<Tag>(this,
android.R.layout.simple_list_item_1, allTags);
lv1.setAdapter(arraylist);



Log.d("Tag Name", tag.getTagName());


lv1.setOnItemClickListener(new OnItemClickListener() {


@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub

String item = ((TextView)view).getText().toString();

Toast.makeText(getBaseContext(), item, Toast.LENGTH_SHORT).show();


arraylist.notifyDataSetChanged();



}
});
}

我搜索了很多链接,在我的代码中应用了他们的答案,但没有任何改变。

最佳答案

您正在使用 allTags 创建适配器,因此每当您通过添加或删除更多元素来更改 allTags 的值时,然后立即调用 notifyDataSetChange() 它将反射(reflect)适配器中的更改。我在您的代码中看到的是,在 OnItemClickListener 中,您没有修改 allTags,因此调用 notifyDataSetChanged 无效。

关于android - notifyDatasetChanged() id 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25052831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com