0

私の活動では、タイムピッカーがあります。以下に示すようにコールバックを実装しましたが、コールバックが呼び出されていないことを示すログはありません。またはに設定tpTimer.setFocusable()しても、どれも呼び出されませんでした。TrueFalse

任意の提案をいただければ幸いです。

TimePicker tpTimer = (TimePicker) findViewById(R.id.timePicker);
        tpTimer.setIs24HourView(true);
        tpTimer.setCurrentHour(0);
        tpTimer.setCurrentMinute(0);
        tpTimer.setFocusable(false); // or True
        tpTimer.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.i(TAG, "%1");
            }
        });
        tpTimer.setOnFocusChangeListener(new OnFocusChangeListener() {          
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                Log.i(TAG, "%2");           
            }
        });
        tpTimer.setOnLongClickListener(new OnLongClickListener() {          
            @Override
            public boolean onLongClick(View v) {
                Log.i(TAG, "%3");
                return false;
            }
        });
        tpTimer.setOnTouchListener(new OnTouchListener() {          
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                Log.i(TAG, "%4");
                return false;
            }
        });
4

2 に答える 2

1

ビューに言及するとメソッドが呼び出されるため、すべてのイベントリスナーコードを次のように変更します

tpTimer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.i("Message", "Its Clicked");
            }
        });

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

于 2012-12-12T07:31:40.147 に答える
0

私も同じ問題を抱えていました。私の回避策は、setOnTimeChangedListenerを使用することです。

    tpTimer.setOnTimeChangedListener(new OnTimeChangedListener() {
        @Override
            public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
                //Do whatever you want here
            }
        });

それがあなたにも役立つことを願っています、そして私は私たちの国(イランとイスラエル)の間に平和があることを願っています。

于 2013-01-06T15:36:33.823 に答える