2016-12-18 10 views
-1

Ich habe eine Android-App mit einem Fragment auf die Haupttätigkeit. Das Problem ist, ich kann die TextView Objekte aus dem Fragment nicht aufrufen.Android view.findViewById (R.id ....) nullpointer Ausnahme in Fragment

der aktuelle Code ist

public class MainFragment extends Fragment { 

private View view; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fragment_main, container, false); 

    this.view = view; 
    //populateListView(); 
    //registerClickCallback(); 

    TextView text = (TextView) view.findViewById(R.id.main_txt_name); 

    if(view == null){System.out.println("view is null");} //view is not null 
    if(text == null){System.out.println("text is null");} //text is null! 

    text.setText("text changed"); //nullpointer exception 

    return view; 
} 

Die Ansicht Objekt nicht null ist, aber view.findViewById(R.id.main_txt_name); gibt zurück null. Die Fehlermeldung ist

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

in Linie

"text.setText("text changed"); //nullpointer exception" 

wenn ich Ansicht ändern, um getActivity() es gleiches Problem isthe.

Wer weiß, wie man die layout Elemente bekommt?

+1

Was Sie getan haben, ist ohne weitere Informationen in Ordnung. Bitte zeigen Sie die XML-Datei 'fragment_main' an. Es ist sehr gut dokumentiert, warum findViewById null zurückgibt –

Antwort

0

Überprüfen Sie Ihre R.id.main_txt_name ist in Ihrem R.layout.fragment_main xml. Möglicherweise ist Ihre ID nicht Layout-XML.