1

editText にテキストを設定するメソッド: button_click(View view) を使用しています。多くのボタンがあり、それぞれが特定の editText にテキストを設定する必要があります。

正しい editText のテキストを設定できるように、メソッドを呼び出したボタンを知る方法はありますか?

メソッドのコードは次のとおりです。

public void button_click(View view) {

            // Create the dialog
            final Dialog mDateTimeDialog = new Dialog(view.getContext());
            // Inflate the root layout
            LayoutInflater inflater = (LayoutInflater) view.getContext().getSystemService( Context.LAYOUT_INFLATER_SERVICE );
            final RelativeLayout mDateTimeDialogView = (RelativeLayout) inflater.inflate(R.layout.datepick, null);
            // Grab widget instance
            final DateTimePicker mDateTimePicker = (DateTimePicker) mDateTimeDialogView
                    .findViewById(R.id.DateTimePicker);
            mDateTimePicker.setDateChangedListener(this);

            // Update demo edittext when the "OK" button is clicked
            ((Button) mDateTimeDialogView.findViewById(R.id.SetDateTime))
                    .setOnClickListener(new OnClickListener() {
                        public void onClick(View v) {
                            mDateTimePicker.clearFocus();
                            // TODO Auto-generated method stub
                            String result_string = mDateTimePicker.getMonth()
                                    + "/"
                                    + String.valueOf(mDateTimePicker.getDay())
                                    + "/"
                                    + String.valueOf(mDateTimePicker.getYear())
                                    + "  "
                                    + String.valueOf(mDateTimePicker.getHour())
                                    + ":"
                                    + String.valueOf(mDateTimePicker.getMinute());

                            edit_text1.setText(result_string);
                            mDateTimeDialog.dismiss();
                        }
                    });

            // Cancel the dialog when the "Cancel" button is clicked
            ((Button) mDateTimeDialogView.findViewById(R.id.CancelDialog))
                    .setOnClickListener(new OnClickListener() {
                        public void onClick(View v) {
                            // TODO Auto-generated method stub
                            mDateTimeDialog.cancel();
                        }
                    });

            // Reset Date and Time pickers when the "Reset" button is clicked

            ((Button) mDateTimeDialogView.findViewById(R.id.ResetDateTime))
                    .setOnClickListener(new OnClickListener() {

                        public void onClick(View v) {
                            // TODO Auto-generated method stub
                            mDateTimePicker.reset();
                        }
                    });

            // Setup TimePicker
            // No title on the dialog window
            mDateTimeDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            // Set the dialog content view
            mDateTimeDialog.setContentView(mDateTimeDialogView);
            // Display the dialog
            mDateTimeDialog.show();
        }
4

4 に答える 4

4

クリックしたビューは の引数ですonClick。そのIDが必要な場合は、次の方法で取得できます

int id = view.getId();

このようにして、R.id.yourButtonId に切り替えて、どれがクリックされたかを理解できます

于 2013-05-17T14:19:56.420 に答える
2

運が良かったですView view。ハンドラーに渡されるのは、クリックされた実際のビューです。したがって、ビュー自体がボタンです。ドキュメントをチェックしてください。

于 2013-05-17T14:14:16.683 に答える
0

このメソッドでは、発生したイベント(Button)vが参照を提供する必要があるビューを渡しました

public void onClick(View v)
于 2013-05-17T14:15:26.917 に答える