1

我有一个输入主数据(订单数据)的活动,在保存输入项目的订单后,用户单击一个按钮,弹出一个警报对话框,用户输入项目和与项目相关的其他详细信息,然后按保存。用户继续此过程,直到输入所有项目。我希望在每个保存按钮后按下父活动的列表视图以进行刷新,并且当用户通过警报对话框添加项目时,按顺序添加的项目一个接一个地显示在列表中。请告诉我该怎么做。提前致谢。
已编辑
我是个傻瓜(在提出问题之前我应该​​想到这一点) - 因为 Activity 正在调用 Alertdialog ...所有变量都可用于对话框。因此,我可以从对话框中检索该订单的所有项目并填充 Activity 上可用的列表视图。感谢所有的建议。

4

3 回答 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 回答