2013-01-17 14 views
7

Ho un problema con la creazione di una finestra di dialogo. Appare, ma è vuoto all'interno, viene mostrata solo una casella vuota.Android DialogFragment è vuoto

classe Dialog:

public class SomeDialog extends DialogFragment{ 

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
    LayoutInflater inflater = getActivity().getLayoutInflater(); 

    builder.setView(inflater.inflate(R.layout.somelayout, null)); 

    return super.onCreateDialog(savedInstanceState); 
} 
} 

In un'attività, creando un oggetto e chiamando il metodo spettacolo:

SomeDialog obj = new SomeDialog(); 
obj.show(getFragmentManager(), "randomtag"); 

risposta

6
return super.onCreateDialog(savedInstanceState); 

si restituisce il metodo di genitore. Dovresti restituire il tuo. Passa a:

return builder.create(); 
0

Nel mio caso un problema era in

public static DialogFragment newInstance(int param) { 
    Bundle args = new Bundle(); 
    args.putInt(EXTRA_PARAM, param); 

    DialogFragment fragment = new DialogFragment(); // Here is an error. 
    fragment.setArguments(args); 
    return fragment; 
} 

Una linea sbagliata dovrebbe essere sostituito con

DialogFragment fragment = new YourDialogFragment(); 
// Or YourDialogFragment fragment = new YourDialogFragment(); 
Problemi correlati