Wie kann ich Icons für Menüpunkte in Android ListView erstellen?

Ich verwende ein ListView, um den Hauptbildschirm meiner Bewerbung zu präsentieren. Der Hauptbildschirm ist im Wesentlichen ein Menü, um in die verschiedenen Abschnitte meiner Anwendung zu gelangen. Derzeit habe ich den ListView-Content programmgesteuert in der onCreate-Methode.

Hier ist das Code-Snippet, das das tut:

  • Dimen.xml oder dimens.xml?
  • Wie set prefix (zB "m") in Android Studio's Alt-Insert Getter / Setter zu entfernen?
  • Kann das Android Studio-Debugger nicht an Android-Prozess anhängen
  • Kann ich das Standard-Tab-Styling in meiner benutzerdefinierten Tab-Ansicht verwenden?
  • Verwirrt über PixelFormat
  • Konnte die Klasse android.support.v4.app.NotificationCompat $ Builder nicht finden
  • String[] mainItems = { "Inbox", "Projects", "Contexts", "Next Actions" } @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); setListAdapter(new ArrayAdapter<String>( this, android.R.layout.simple_list_item_1, mainItems)); registerForContextMenu(getListView()); } 

    So ist das Menü im Grunde nur ein paar Knoten mit dem im mainItems-Array enthaltenen Text. Ich weiß, dass ich ein XML-Layout (dh R.layout.mainMenu_item ) erstellen kann, das ein ImageView und TextView hat, aber ich bin mir nicht sicher, wie man das ImageView-Icon setzt. Ich habe gesehen, dass es eine setImageResouce (int resId) -Methode gibt, aber der Weg, dies zu verwenden, wenn du mit einem ArrayAdapter entsteht, entgeht mir. Gibt es einen besseren Weg, dies zu tun?

  • Android Repo Befehl und Umschalten Zweige
  • Wo finde ich gute Beispiele für Android UI?
  • Fügen Sie benutzerdefiniertes Layout zu Symbolleiste hinzu
  • Fehler in Android Studio 2.1 mit Java 8 bekommen
  • Programmatisch festgelegte Marge für TableRow
  • Wie finde ich heraus, ob ListView nach oben gescannt hat Die meisten Positionen?
  • 2 Solutions collect form web for “Wie kann ich Icons für Menüpunkte in Android ListView erstellen?”

    Was ich normalerweise für eine ListView tue, ist, meinen eigenen Adapter zu implementieren, indem du die handliche BaseAdapter-Klasse erweitere. Eine der abstrakten Methoden, die du implementierst, wird getView () wie das vorherige Poster erwähnt. Von dort aus können Sie ein Layout mit einem ImageView aufblasen, erhalten Sie einen Verweis darauf mit findViewById, und legen Sie das Bild auf, was zeichnend Sie in Ihre Ressourcen hinzugefügt haben.

     public View getView(int position, View convertView, ViewGroup parent) { View row = inflater.inflate(R.layout.menu_row, null); ImageView icon = (ImageView) row.findViewById(R.id.icon); icon.setImageResource(..your drawable's id...); return view; } 

    Von den Google Docs für ArrayAdapter.

    Um etwas anderes als TextViews für die Array-Anzeige zu verwenden, z. B. ImageViews, oder um einige von Daten neben toString () Ergebnisse zu füllen die Ansichten, überschreiben getView (int, View, ViewGroup), um die Art der Ansicht, die Sie wollen.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.