2013-01-17 11 views
7

Mam problem z utworzeniem okna dialogowego. Wygląda na to, ale w środku jest puste, widać tylko puste pole.Android DialogFragment jest pusty

Dialog klasa:

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); 
} 
} 

działalność, tworząc obiekt i wywołanie metody pokazu:

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

Odpowiedz

6
return super.onCreateDialog(savedInstanceState); 

Wracasz metody nadrzędnej. Powinieneś zwrócić swój własny. Zmień na:

return builder.create(); 
0

W moim przypadku problem był w

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; 
} 

źle linia powinna zostać zastąpiona

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