TimePicker NullPointerException на ICS - PullRequest
6 голосов
/ 15 февраля 2012

Хорошо, поэтому я просто переключил свой TimePickerDialog на TimePicker виджет, который непосредственно виден в «Деятельности», над которой я работаю, по требованию клиента.

Проблема в том, что когда я нажимаю любую из стрелок на TimePicker, я получаю исключение NullPointerException.

Просто чтобы прояснить, никакой код, который когда-либо был прикреплен к TimePicker, кроме этой строки в методе onCreate() моей Деятельности:

((TimePicker) findViewById(R.id.time_picker)).setIs24HourView(true);

Я нашел это сообщение на форумах Google относительно этой проблемы, но не сильно помог.

Вот мой журнал ошибок , к сожалению, я не думаю, что это сильно поможет.

Эта проблема появляется только при тестировании в ICS (Android 4.0 +). Кто-нибудь смог обойти эту проблему?

1 Ответ

0 голосов
/ 09 июля 2012

Только что написал пример приложения и в Galaxy SIII (4.0) ошибки не найдено:

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;

public class TimePickerTestActivity extends Activity implements OnTimeChangedListener{

    private TimePicker tpTime = null;
    private TextView tvTime = null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        tvTime = (TextView)this.findViewById(R.id.tv_time);

        tpTime = (TimePicker)this.findViewById(R.id.tp_time);
        tpTime.setIs24HourView(Boolean.TRUE);
        tpTime.setOnTimeChangedListener(this);

    }
    public void onTimeChanged(TimePicker tp, final int hrOfDay, final int min) {
        if(tp.equals(tpTime)){
            tvTime.post(new Runnable(){

                public void run() {
                    tvTime.setText(hrOfDay+":"+min);
                }

            });
        }
    }
}

И макет xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout   xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical" >

    <TimePicker android:id="@+id/tp_time"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />

    <TextView   android:id="@+id/tv_time"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
</LinearLayout>

К вашему сведению: http://developer.android.com/reference/android/widget/TimePicker.html

...