In der XML-Datei für mein Layout habe ich ein Fragment hinzugefügt. Das Layout für mein Fragment ist ein LinearLayout und es enthält eine Textansicht.Verweis auf LinearLayout in Fragment
Ich möchte einen Verweis auf das LinearLayout-Objekt in meiner Fragmentklasse erhalten, aber trotz allem, was ich online denken oder finden kann, ist es immer null.
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
text = (TextView) getActivity().findViewById(R.id.text);
layout = (LinearLayout) getActivity().findViewById(R.id.layout);
if(layout == null){
text.setText("null");
}
}
Dieser Code ist in meiner Fragment-Klasse und die Ergebnisse in den Text des Textview wird auf "null", da das Layout null ist. Wie könnte das sein, da ich versuche, die Verweise auf das Layout und die Textansicht genau so zu bekommen?
onCreate in Aktivitätsklasse
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
manager = getFragmentManager();
MyFragment = (MyFragment) manager.findFragmentById(R.id.fragment);
}
Methode 2
Ich habe versucht, einen Verweis auf das Linearlayout in meiner Tätigkeit bekommen. Hier ist die Aktivität onCreate mit diesem Versuch.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
manager = getFragmentManager();
MyFragment = (MyFragment) manager.findFragmentById(R.id.fragment);
LinearLayout ll = (LinearLayout) findViewById(R.id.layout);
TextView tv = (TextView) findViewById(R.id.text);
if(ll == null){
tv.setText("null");
}
}
Dies änderte auch den Text auf "null".
Poste bitte deine 'Activity.onCreate'. Wenn die Ansichten in Ihrer Aktivität erstellt werden, empfehle ich Ihnen, den Code zu Ihrer Aktivität zu verschieben. –
Sie versuchen das 'LinearLayout' des' Fragment' aus Ihrer 'Aktivität' zu bekommen? Komme ich es richtig? – Sunshinator
Verweisen Sie auf die 'getActivity(). FindViewById (R.id.text)'? Ich habe auch 'getView(). FindViewById (...)' in der 'onActivityCreated() 'versucht, nur durch das Fragment zu gehen, aber das hat auch nicht funktioniert – Tirmulus