android - personalizado - NullPointerException al cambiar texto textView en un AlertDialog
dialog full screen android (1)
Al principio pensé que era una Activity
ahora, veo que es un DialogFragment
.
Supongo que la vista pertenece a custom_dialog.xml
View view = inflater.inflate(R.layout.custom_dialog, null);
text = (TextView)view.findViewById(R.id.lorem);
builder.setView(view);
Entonces use el objeto de vista para inicializar TextView
.
text = (TextView)getView().findViewById(R.id.lorem);
aquí getView()
devuelve nulo.
Está llamando a setText
en nulo que lleva a NullPointerException
.
Fondo:
- Solo quiero crear un Diálogo personalizado con un diseño específico y agregar el contenido.
- Es un DialogFragment
Código:
TextView text;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
text = (TextView)getView().findViewById(R.id.lorem);
text.setText("Test");
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
builder.setView(inflater.inflate(R.layout.custom_dialog, null));
return builder.create();
}
Problema:
- El cuadro de diálogo funcionó, pero después de que empecé a agregar las líneas en "onCreate" obtuve un error NullPointerException. Espero que alguien pueda ayudarme.
Gracias @Raghunandan por la explicación de Answer + y aquí está el código de trabajo:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.custom_dialog_style, null);
textView = (TextView)view.findViewById(R.id.your_textview);
textView.setText("Test");
builder.setView(view);
return builder.create();
}