Android findViewById liefert null zurück, wenn in der Klasse andere als Haupttätigkeit
Ich versuche zu bekommen eine TextView, die von ID in meinem listener-Klasse, die Griffe ein spinner ist onItemSelected Veranstaltung. In meiner Haupttätigkeit, die ich anrufen kann findViewById(R. id.textView1) und es funktioniert gut. Aber wenn ich rufen Sie die gleiche Funktion in meinem spinner-listener-Klasse, die es immer gibt null zurück, und zwingt die app zu schließen.
Jemand wissen, warum findViewById funktioniert in meinem Haupt-Aktivität, aber nicht in meinem listener-Klasse?
Hier ist der code von meinem Haupt-Aktivität. Es wird aufgerufen, wenn eine Schaltfläche geklickt wird:
public void something ()
{
setContentView(R.layout.spinnerLayout);
Spinner spinner = (Spinner) findViewById(R.id.mySpinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.spinner_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}
Und hier ist der code für MyOnItemSelectedListener:
public class MyOnItemSelectedListener implements OnItemSelectedListener
{
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id)
{
TextView tv = view.findViewById(R.id.myTextView);
//I want to set the text of this text view to the value selected using the spinner
tv.setText("Something");
}
public void onNothingSelected(AdapterView parent) {
//Do nothing.
}
}
Was muss ich tun, um "TextView tv = view.findViewById(R. id.myTextView);" zu arbeiten?
Dank!!!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Damit
findViewById
zu arbeiten, müssen Sie zuvor aufgerufensetContentView
Wo sind Sie-Einstellung Inhalte anzeigen? Wenn Sie den ausbau
Activity
sollte es eine MethodeonCreate
in denen Sie benötigen, umsetContentView(R.id.textview1)
.Wenn Sie eine
setContentView
wie bereits in den anderen Beiträgen, die Sie möglicherweise angeben müssen, die anzeigen, in denen zu finden, die textview:So, ich bin neu auf Android zu, ich mag mich irren, aber ich habe ein paar Dinge, die ich denken:
Mehr code-Schnipsel wäre gut.
nyyrikki