Android - 在AlertDialog中刷新数据?

Pau*_*aul 9 java android android-alertdialog

所以,如果我像这样创建一个AlertDialog:

AlertDialog.Builder b = new AlertDialog.Builder();
b.setItems(MyStringArray, MyListener);
b.create().show();
Run Code Online (Sandbox Code Playgroud)

然后我想更新列表中的项目,即MyStringArray已更改为包含更多或更少的项目.我似乎找不到办法做到这一点.到目前为止,我已经尝试从AlertDialog获取ListView,但我似乎无法让.setAdapter工作.这是正确的方法,还是有更好的方法来做到这一点?

小智 9

我自己没有试过这个,但是从我构建的所有其他应用程序中我很确定这将解决您的问题.

而不是使用setItems,尝试使用该setAdapter()方法并传入ArrayAdapter已使用您的数据初始化Array的方法String.然后,当您知道数据已更改时,您可以使用getListView()获取View对象并从那里调用,getAdapter()以便现在您可以直接使用数据集.您可以清除它,并根据需要重新初始化它,或者只是根据需要添加/删除项目.从适配器对象中,如果调用notifyDataSetChanged()它,则应使用刚刚提供给适配器的新数据集触发重新绘制.

希望能帮到你.如果没有,请告诉我.

DSC