Android - Wie kann ich Zugriff auf einen View-Objekt instanziiert in der onCreate in onResume?
In meiner onCreate () - Methode, ich bin instanziieren ein ImageButton-Steuerelement Anzeigen:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_post);
final ImageButton ib = (ImageButton) findViewById(R.id.post_image);
...
In onResume, ich möchte in der Lage sein, ändern Sie die Eigenschaften des ImageButton mit etwas wie:
@Override
protected void onResume() {
super.onResume();
ib.setImageURI(selectedImageUri);
} //ENDE onResume
Aber onResume keinen Zugriff auf die ImageButton ib-Objekt. Wenn dies eine variable ist, würde ich einfach machen, eine Klasse variable, aber Android erlaubt Ihnen nicht, zu definieren View-Objekt in die Klasse.
Irgendwelche Vorschläge, wie dies zu tun?
Sie können nicht findViewById innerhalb der onResume?
InformationsquelleAutor Chris | 2011-01-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde die Bild-Schaltfläche eine Instanz-variable, dann finden Sie auf it von beiden Methoden, wenn Sie mögen. dh. etwas wie das hier tun:
Lohnt es sich, in Anbetracht aber, dass die Instanz-Variablen sind relativ teuer in Android, so ist es effizienter, verwenden Sie eine lokale variable innerhalb der Methode, wenn es nur in einem Ort.
Warum sind die Instanz-Variablen sind relativ teuer in Android. Ich höre es zum ersten mal, Performance-Tipps (developer.android.com/training/articles/perf-tips.html) nicht es zu erwähnen...
InformationsquelleAutor Captain Spandroid
findViewById()
nicht die Ansicht erstellen, es ist nur der Suche nach bereits erstellten Ansicht. Es wurde durch das aufblasen des layoutR.layout.layout_post
in der vorherigen Zeile.Konnte Sie einfach anrufen
findViewById()
in IhremonResume()
Methode, um einen Verweis auf Sie in dieser Methode, oder Sie könnte sich ändernib
auf eine Instanz-variable, so dass es zugänglich ist, in anderen Methoden alsonCreate()
.InformationsquelleAutor Mark B
Bewegen Sie die Deklaration der Methode in der Klasse. Vorausgesetzt
selectedImageUri
ist im Anwendungsbereich...InformationsquelleAutor William Scott