我有一个用于输入主数据(订单数据)的活动,在按照用户单击按钮的顺序保存输入项目的订单后,会弹出一个Alertdialog,用户输入项目以及与该项目相关的其他详细信息并按保存。用户继续此过程,直到输入所有项目。我希望在每个保存按钮之后按下父活动的列表视图以刷新,并且当用户通过警告对话框添加项目时,订单中添加的项目将一个接一个地显示在列表中。请告诉我该怎么做。提前谢谢。
的 EDITED
我是一个傻瓜(在提出问题之前我应该想到这一点) - 因为Activity正在调用Alertdialog ......所有变量都可用于对话框。因此,从对话框中,我可以检索该订单的所有项目,并填充活动上可用的列表视图。
感谢您的所有建议。
答案 0 :(得分:1)
也许......
答案 1 :(得分:1)
在官方文档中查看如何将数据发送回您的活动:
http://developer.android.com/guide/topics/ui/dialogs.html#PassingEvents
您必须实现一个侦听器接口。在回调方法中,您可以更新列表视图。
答案 2 :(得分: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);
}