Kurztipp: Verwenden Sie Butter Knife, um Ansichten auf Android zu injizieren 1

Kurztipp: Verwenden Sie Butter Knife, um Ansichten auf Android zu injizieren

In diesem kurzen Tipp erfahren Sie, wie Sie die Butter Knife-Bibliothek in Ihre Projekte integrieren, um Ihre Layoutansichten einfach in Ihren Anwendungscode zu instanziieren.

Einführung

In jeder Android-App müssen Sie die verwenden findViewById() für jede Ansicht des Layouts, die Sie in Ihrem App-Code verwenden möchten. Da App-Designs jedoch zu komplexeren Layouts werden, wiederholt sich das Aufrufen dieser Methode, und genau hier setzt das an Buttermesser Bibliothek Komm herein!

Die Butter Knife Bibliothek, entwickelt und gepflegt von Jake Wharton (Square Inc.) enthält Anmerkungen, mit denen Entwickler Ansichten unserer Aktivitäten oder Fragmente instanziieren können. Es enthält auch Anmerkungen zur Behandlung von Ereignissen wie onClick(), onLongClick(), usw.

Im Beispielprojekt für dieses Lernprogramm sehen Sie eine Beispiel-App mit einer Aktivität und einen Ausschnitt mit einer Implementierung, die die Butter Knife-Bibliothek und eine Standardimplementierung verwendet. Lassen Sie uns die Schritte zur Integration der Butter Knife-Bibliothek untersuchen.

1. Verwenden der Buttermesser-Bibliothek

Schritt 1: Fügen Sie die Abhängigkeit hinzu

Fügen Sie dem Projekt die folgende Abhängigkeit hinzu build.gradle Datei:

Synchronisieren Sie dann Ihr Projekt mit dieser Datei, indem Sie auf die Schaltfläche „Synchronisieren“ klicken.

Schritt 2: Verwenden Sie Anmerkungen

In jeder Aktivität oder jedem Fragment müssen Sie jeden Anruf aus dem löschen oder kommentieren findViewById() Methode und fügen Sie die @InjectView Anmerkung vor der Deklaration der Variablen unter Angabe der Ansichtskennung.

Schritt 3: Injizieren Sie Ansichten

in dem onCreate() Aktivitätsmethode, bevor Sie die Ansichten verwenden, Anruf inject auf der Butterknife Objekt.

Wenn Sie Fragmente verwenden, müssen Sie die Quelle der Ansichten in der angeben onCreateView() Methode wie unten gezeigt.

Sie können jetzt Ansichten in Ihrem Anwendungscode verwenden. Butter Knife kümmert sich darum, jede Ansicht für Sie zu instanziieren.

Das ist alles, was Sie tun müssen, um die Butter Knife-Bibliothek in einer Aktivität oder einem Shard zu verwenden. Im nächsten Abschnitt werde ich Ihnen zeigen, wie Sie die Butter Knife-Bibliothek zum Arbeiten mit Listenansichten verwenden.

2. Verwenden der Butter Knife Library mit Listenansichten

das ListView Klasse ist ein Sonderfall, der implementiert werden muss, da Sie Ansichten innerhalb eines Adapters instanziieren. Um die Butter Knife-Bibliothek in eine Listenansicht einzubetten, müssen Sie zuerst das benutzerdefinierte Layout für die Elemente in der Listenansicht erstellen. Ich werde meine nennen list_view_item und fügen Sie das folgende Layout hinzu:

In diesem einfachen Layout werden ein Bild und Text angezeigt. Als nächstes müssen wir den Adapter für die Listenansicht erstellen. Nennen wir es ListViewAdapter.

In der Adapterklasse gibt es eine statische Klasse namens ViewHolder um es in Ordnung zu halten. Wir werden diese Klasse verwenden, um die Ansichten zu enthalten. Lassen Sie es uns implementieren ViewHolder Klasse wie folgt:

Alles was bleibt ist, das zu modifizieren getView() Methode wie folgt:

Bei dieser Methode blase ich das benutzerdefinierte Layout innerhalb des auf view Variable und verwenden Sie es, um ein Objekt der zu erstellen ViewHolder Klassenzimmer. Beachten Sie, dass wir die verwenden Picasso Klasse zum Laden von Remote-Bildern und Füllen der Textansicht mit Text. Das Picasso-Tutorial ist möglicherweise hilfreich, wenn Sie sich mit dieser Bibliothek vertraut machen möchten.

Vergessen Sie nicht, das hinzuzufügen android.permission.Internet Autorisierung im Android-Manifest. Andernfalls kann Picasso keine Verbindung zum Internet herstellen oder die Remote-Bilder hochladen.

Schließlich müssen Sie nur die Listenansicht instanziieren und den Adapter anschließen. Ich werde dies in einer neuen Aktivität tun, ListViewActivity, Wie nachfolgend dargestellt. Ein Beispiel für diese Implementierung finden Sie in den Quelldateien für dieses Lernprogramm.

3. Veranstaltungen

Sie können auch Butter Knife-Anmerkungen für Ereignisse verwenden. Wählen Sie die Anmerkung aus, die Sie verwenden möchten, basierend auf dem Ereignis, auf das Sie antworten möchten, und platzieren Sie sie vor der Methode, die Sie ausführen möchten, wenn das Ereignis auftritt.

Fazit

Sie können ein Buttermesser verwenden inject() wo immer Sie sonst die Methode verwenden würden findViewById() um Zeit zu sparen und das Wiederholen von Code zu vermeiden, wenn Sie Ansichten im Layout instanziieren müssen. Teilen Sie diesen kleinen Tipp mit, wenn Sie ihn nützlich fanden.

Unterstützen Sie unsere Arbeit ❤️

Wenn Ihnen dieser Artikel gefallen hat, können Sie uns mit einem Trinkgeld unterstützen, damit wir weiterhin großartige Inhalte veröffentlichen können.

Sichere Zahlung mit PayPal
Moyens I/O-Personal. motivierte Sie und gab Ratschläge zu Technologie, persönlicher Entwicklung, Lebensstil und Strategien, die Ihnen helfen werden.