2012-07-17 2 views
-1

Je suis une exception (null pointer) quand je l'appelle la méthode addView() sur ma mise en page par rapport à ajouter le textViewexception Android RelativeLayout.addView() lors de l'ajout TextView

public class FormAddNewTaskActivity extends Activity { 

    private final String TAG = FormAddNewTaskActivity.class.getCanonicalName(); 

    private TaskLiteApplication taskLiteApplication; 

    /* (non-Javadoc) 
    * @see android.app.Activity#onCreate(android.os.Bundle) 
    */ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     setContentView(R.layout.form_add_task); 

     RelativeLayout rl = (RelativeLayout) findViewById(R.layout.form_add_task); 
     TextView tv = new TextView(taskLiteApplication); 
     tv.setText("blah blah"); 
     tv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT)); 
     rl.addView(tv); //null pointer exeption there 

     //set application context 
     taskLiteApplication = ((TaskLiteApplication)getApplicationContext()); 

     //Spinner set list user 
     Spinner s = (Spinner) this.findViewById(R.id.spinnerUser); 

     //set list user 
     ArrayList<User> listUser = taskLiteApplication.getCtrlUser().getListUserFromDataBase(); 

     //adapter user 
     UserSpinnerAdapter userSpinnerAdapter = new UserSpinnerAdapter(listUser , getApplicationContext()); 

     //set adapter on the spinner 
     s.setAdapter(userSpinnerAdapter); 



     //set listener on add button task 
     ImageButton imageButtonAdd = (ImageButton) findViewById(R.id.imageButtonAdd); 
     imageButtonAdd.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Log.d(TAG, "add form new subtask"); 
      } 
     }); 


    } 

} 

Mon XML:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#fff" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 

     <EditText 
      android:id="@+id/editTextGroupTaskName" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:hint="@string/hint_task_name" 
      > 

      <requestFocus /> 
     </EditText> 

     <Spinner 
      android:id="@+id/spinnerUser" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/textViewDateDue" 
      android:layout_below="@+id/editTextGroupTaskName" />  

     <TextView 
      android:id="@+id/textViewDateDue" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/spinnerUser" 
      android:text="@string/date_due" 
      android:textColor="#000" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <DatePicker 
      android:id="@+id/datePickerDateDue" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/textViewDateDue" /> 

     <TextView 
      android:id="@+id/textViewSubTask" 
      android:layout_below="@id/datePickerDateDue" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/sub_task" 
      android:textColor="#000" 
      android:paddingTop="11dp" 
      android:paddingBottom="11dp" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      /> 

     <ImageButton 
      android:id="@+id/imageButtonAdd" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_below="@id/datePickerDateDue" 
      android:src="@drawable/add" /> 

    </RelativeLayout> 


</ScrollView> 

Log Cat:

07-17 14:07:40.696: D/AndroidRuntime(338): Shutting down VM 
... 
07-17 14:07:40.707: E/AndroidRuntime(338): Caused by: java.lang.NullPointerException 
07-17 14:07:40.707: E/AndroidRuntime(338): at android.view.View.<init>(View.java:1823) 
07-17 14:07:40.707: E/AndroidRuntime(338): at android.widget.TextView.<init>(TextView.java:326) 
07-17 14:07:40.707: E/AndroidRuntime(338): at android.widget.TextView.<init>(TextView.java:320) 
07-17 14:07:40.707: E/AndroidRuntime(338): at android.widget.TextView.<init>(TextView.java:315) 
07-17 14:07:40.707: E/AndroidRuntime(338): at activity.FormAddNewTaskActivity.onCreate(FormAddNewTaskActivity.java:38) 
07-17 14:07:40.707: E/AndroidRuntime(338): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
+0

S'il vous plaît votre LogCat publier, je serai en mesure de vous aider très rapidement si vous le faites. –

+0

@JohnSatriano c'est posté merci! –

Répondre

1

RelativeLayout rl = (RelativeLayout) findViewById(R.layout.form_add_task);

Vous envoyez une étiquette de mise en page à un viseur View. Ajouter ceci à votre XML:

<RelativeLayout 
     android:id="@+id/form_add_task" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 

et appelez:

RelativeLayout rl = (RelativeLayout) findViewById(R.id.form_add_task);

+0

Ne fonctionne toujours pas John:/ –

+0

Cela devrait corriger votre NullPointerException, y at-il une nouvelle erreur? –

+0

La même exception de pointeur nul, oui je pensais que cela va résoudre le problème aussi, bizarre –

1

seulement rl peut être là nulle.

Peut-être au lieu de RelativeLayout rl = (RelativeLayout) findViewById(R.layout.form_add_task), faites RelativeLayout rl = (RelativeLayout) findViewById(R.id.relative_layout)

1

Le problème est votre disposition relative. Essayez:

<RelativeLayout 
     android:id="@+id/myLayout" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 

et

RelativeLayout rl = (RelativeLayout) findViewById(R.id.myLayout); 
Questions connexes