2012-02-15 21 views
6

Bien, acabo de cambiar mi TimePickerDialog a un widget TimePicker directamente visible en la Actividad en la que estoy trabajando debido a la demanda de los clientes.TimePicker NullPointerException en ICS

El problema es cuando presiono cualquiera de las flechas en dicho TimePicker, obtengo una NullPointerException.

Solo para aclarar, no hay código de lo que nunca se adjunta a la TimePicker excepto que esta línea en el método de mi actividad onCreate():

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

encontré this post en los foros de Google con respecto a este tema, pero no mucha ayuda.

Here's my error log, lamentablemente no creo que sea de mucha ayuda.

Este problema solo aparece cuando se prueba en ICS (Android 4.0 +). ¿Alguien ha sido capaz de solucionar este problema?

+0

yo no era capaz de reproducirlo !!!! – dira

+0

¿Ha configurado un oyente en el selector de tiempo? – LuxuryMode

+0

teniendo el mismo problema, pero he ejecutado una aplicación simple en 4.0 y funciona. hmm. – Mikey

Respuesta

0

acabo de escribir una aplicación de ejemplo y de ningún error encontrado en 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); 
       } 

      }); 
     } 
    } 
} 

Y el xml diseño:

<?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

Cuestiones relacionadas