我有一个输入主数据(订单数据)的活动,在保存输入项目的订单后,用户单击一个按钮,弹出一个警报对话框,用户输入项目和与项目相关的其他详细信息,然后按保存。用户继续此过程,直到输入所有项目。我希望在每个保存按钮后按下父活动的列表视图以进行刷新,并且当用户通过警报对话框添加项目时,按顺序添加的项目一个接一个地显示在列表中。请告诉我该怎么做。提前致谢。
已编辑
我是个傻瓜(在提出问题之前我应该想到这一点) - 因为 Activity 正在调用 Alertdialog ...所有变量都可用于对话框。因此,我可以从对话框中检索该订单的所有项目并填充 Activity 上可用的列表视图。感谢所有的建议。
问问题
4342 次
3 回答
1
查看官方文档如何将数据发送回您的活动:
http://developer.android.com/guide/topics/ui/dialogs.html#PassingEvents
您必须实现一个侦听器接口。在回调方法中,您可以更新您的列表视图。
于 2013-06-10T10:23:16.453 回答
1
也许...
- 将您的更新数据代码放在活动的 onResume() 中
- 或者,向您的活动发送广播事件
于 2013-06-10T09:15:46.237 回答
0
您可以创建一个函数来更新您的 listdataitem,并在从 sdcard 中删除文件后调用此函数。它将引用您的 listItem。您可以第一次调用相同的函数来设置数据列表。
ActivityClass.java
ListView listview;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview = (ListView) findViewById(android.R.id.list);
refreshData();
listview .setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
new AlertDialog.Builder(ActivityName.this)
//.setIcon(R.drawable.folder)
//.setTitle("title")
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
saveData();
refreshData();
}
}).show();
}
});
}
void saveData(){
//write code here fo save data
}
public void refreshData(){
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, list);
listview.setAdapter(adapter);
}
于 2013-06-10T09:47:29.497 回答