0

以下のようなダイアログクラスを作成します。これはユーザー入力を取得し、ユーザーはOKまたはキャンセルできます。

public class CustomDialog extends Dialog implements OnClickListener {
//String username= "hello"
//getter set
String getName(){
    username = this.name;
    return username; 
}
}

私は私の活動でこのコードでそれを呼び出します

custumButton.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {               
            TextView txtTime = (TextView) findViewById(R.id.tmptextView1);
            mosi.show();
            txtName.setText(mosi.getName());
        }
    });

すべてがうまく機能しますが、 mosi.gettime() を呼び出すと、毎回デフォルト値が返され、ユーザー入力は送信されません。私は自分のダイアログでトーストを作成し、ユーザーが名前を入力すると機能しますが、sumbit ダイアログがアクティビティのテキストビューに入力名を表示しない場合

私を助けてください、悪い英語でごめんなさい

** * ** * ** * ** * ***
** * ** * ** * ** * ** *
OK ボタン setOnClickListenerダイアログをこのコードでオーバーライドして、この問題を解決します

Button mo = (Button)mosi.findViewById(R.id.btnTimepickerOk);
            mo.setOnClickListener(new View.OnClickListener() {

                public void onClick(View arg0) {
                    txtName.setText(mosi.getName());
                    mosi.dismiss();
                }

            });
4

1 に答える 1

0

リスナーのダイアログから直接入力を取得することをお勧めします。例えば

((EditText)dialog.findViewById(R.id.input)).getText();

これを実現するには、ダイアログを final として宣言する必要があるかもしれませんが、それは問題ではありません。それがあなたを助けることを願っています。

于 2012-11-19T11:49:17.740 に答える