2012-02-15 3 views
6

Хорошо, поэтому я только что переключил свой TimePickerDialog на виджет TimePicker, который непосредственно отображается в действии, над которым я работаю, из-за потребительского спроса.TimePicker NullPointerException on ICS

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

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

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

я нашел this post на форумах Google относительно этого вопроса, но не очень помогает.

Here's my error log, я, к сожалению, не думаю, что это поможет.

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

+0

я не смог воспроизведите его !!!! – dira

+0

Вы установили слушателя на таймер? – LuxuryMode

+0

с той же проблемой, но я запустил простое приложение в 4.0, и оно работает. хмм. – Mikey

ответ

0

Просто написал пример приложения и не обнаружена ошибка в 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> 

FYI: http://developer.android.com/reference/android/widget/TimePicker.html