2012-10-25 21 views
13

Ho un paio di domande sul test delle classi DialogFragment con Robolectric, poiché ho riscontrato una totale mancanza di informazioni su questo argomento in Internet.Test di DialogFragments con Robolectric

  1. Quali sono gli argomenti giusti da passare a onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)?
  2. ho difficoltà passaggio di argomenti a DialogFragment, sto usando il seguente approccio:

    activity = new Activity(); 
    dialog = new DialogFragment(); 
    Bundle bundle = new Bundle(); 
    dialog.setArguments(bundle); 
    FragmentManager fm = activity.getSupportFragmentManager(); 
    FragmentTransaction ft = fm.beginTransaction(); 
    ft.add(dialog, "fragment"); 
    ft.commit(); 
    

Ogni volta che il codice tenta di accedere argomenti si blocca con un NullPointerException.

Apprezzeranno molto qualsiasi idea su questi argomenti.

+0

Potrebbe includere codice per la classe DialogFragment? C'è un motivo per cui non stai usando DialogFragment # show()? La documentazione mostra come estendere DialogFragment per creare la tua finestra di dialogo personalizzata: http://developer.android.com/reference/android/app/DialogFragment.html – user697495

+0

Hai risolto questo? –

+0

@Egor, hai risolto questo? –

risposta

0

Si sta utilizzando il DialogFragment errato. Non si dovrebbe impegnare il frammento, ma chiamare show su DialogFragment.

activity = new Activity(); 
dialog = new DialogFragment(); 
Bundle bundle = new Bundle(); 
dialog.setArguments(bundle); 
FragmentManager fm = activity.getSupportFragmentManager(); 
FragmentTransaction ft = fm.beginTransaction(); 
dialog.show(ft, "fragment"); 
+0

show() fa quasi la stessa cosa: aggiunge il DialogFragment alla transazione e lo impegna. – Egor

Problemi correlati