1

マスター データ (注文データ) を入力するアクティビティがあり、項目を入力する順序を保存した後、ユーザーがボタンをクリックすると、ユーザーが項目と項目に関連するその他の詳細を入力して [保存] を押すアラート ダイアログがポップアップします。ユーザーは、すべてのアイテムが入力されるまでこのプロセスを続けます。保存ボタンを押すたびに、親アクティビティのリストビューを押して更新し、ユーザーがアラートダイアログを介してアイテムを追加すると、順番に追加されたアイテムが次々とリストに表示されます。その方法を教えてください。前もって感謝します。
編集済み
私はばかです(質問をする前にこれを考えるべきでした)-ActivityがAlertdialogを呼び出しているため...すべての変数がダイアログで利用可能です。そのため、ダイアログからその注文のすべてのアイテムを取得し、アクティビティで使用可能なリストビューを設定できます。すべての提案をありがとう。

4

3 に答える 3

1

公式ドキュメントで、アクティビティにデータを送り返す方法を確認してください。

http://developer.android.com/guide/topics/ui/dialogs.html#PassingEvents

リスナー インターフェイスを実装する必要があります。コールバック メソッドで、リストビューを更新できます。

于 2013-06-10T10:23:16.453 に答える
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 に答える