【发布时间】:2023-03-14 07:28:02
【问题描述】:
我正在尝试实现 2 AutoCompleteTextView。第一个持有该值,单击其中一个将填充第二个 AutoCompleteTextView 中的数据,所有工作和数据都会正确加载但是当我尝试在第二个适配器上调用 notifyDataSetChanged 时,该适配器填充了第二个未更改的字段.
我也在 Handler 中编写了那段代码,但这似乎也不起作用。
branchAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,branchNames);
et7.setAdapter(branchAdapter);//et7 is the AutoCompleteTextView //branchname is the ArrayList
在某些方法中,我清理 ArrayList 并将新数据添加到其中,然后调用 notifyDataSetChanged,如下所示
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
@Override
public void run() {
branchAdapter.notifyDataSetChanged();
}
});
没有更新列表。这里更新数据的正确方法应该是什么?
【问题讨论】:
-
您是通过适配器还是通过您自己的外部列表(例如
branchNames)修改ArrayList?你能展示那部分代码吗?
标签: arraylist android-arrayadapter autocompletetextview notifydatasetchanged