0

リストを表示するようにカスタマイズされたcustomDialogを使用しています。私の要件は、アプリケーションにEdittextがある場所です。このダイアログを表示する必要があります。クラスを作成し、10,100,1000,10000 のようなリストを作成する関数を実行しました。

ユーザーがこのリストから任意の番号を選択したら、それを Editext に設定したいと思います。これを行うにはどうすればよいですか? 一日中これを試していますか?

public static void amount_dialog(final Activity activity,String str)
{
     amount=str;

     sequence_number();//from this method am generating list and setting it into my Arraylist

     dialog=new  Dialog(activity,R.style.CustomDialogTheme);    

     dialog.setContentView(R.layout.customdialog);

     ListView listView=(ListView) dialog.findViewById(R.id.listView12);              
     adapter=new ArrayAdapter<String>(activity,R.layout.list2,R.id.list_text1, strings);
     listView.setAdapter(adapter);  
     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            selected_amount=adapter.getItem(arg2);

            dialog.dismiss();


        }
    });


     dialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;

     dialog.show();
     dialog.setCanceledOnTouchOutside(true);


}
4

2 に答える 2

0

EditText オブジェクトをこのメソッドに渡すだけで、OnitemClickListener 内で、Arraylist の値を使用してテキストを EditText に設定できます。

public static void amount_dialog(final Activity activity,String str,EditText edittextObject)
{
     amount=str;

     sequence_number();//from this method am generating list and setting it into my Arraylist

     dialog=new  Dialog(activity,R.style.CustomDialogTheme);    

     dialog.setContentView(R.layout.customdialog);

     ListView listView=(ListView) dialog.findViewById(R.id.listView12);              
     adapter=new ArrayAdapter<String>(activity,R.layout.list2,R.id.list_text1, strings);
     listView.setAdapter(adapter);  
     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            selected_amount=adapter.getItem(arg2);
             edittextObject.setText("get the value from arraylist here");
            dialog.dismiss();


        }
    });


     dialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;

     dialog.show();
     dialog.setCanceledOnTouchOutside(true);


}
于 2012-05-17T11:39:23.160 に答える
0

パラメータとして渡すアクティビティは、EditText を含むアクティビティであると想定しています。したがって、次のようなことができます。

EditText editText = (EditText)activity.findViewById(theIDofYourTextEdit);
editText.setText(selectedAmount);

onItemClick-method 内。

これが役立つことを願っています

于 2012-05-17T11:43:24.433 に答える