繁体   English   中英

Android:如何为每个ListView列表项分配一个单独的图标?

[英]Android: How do I assign each of my ListView list items an individual icon?

我对Android开发非常陌生,它搜索和阅读各种教程,并在互联网上使用不同的代码部分,以使我在使用时理解它。 如果我的解释不太好,请原谅我。

目前,我有一个由4个列表项创建的列表,我想为每个列表项分配一个不同的图标,但是,我不知道该怎么做,也不知道要搜索什么。

这是代码:

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<ListView android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/mainListView">
</ListView>

</LinearLayout>

row.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rowTextView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:textSize="16sp" >
 </TextView>

FirstList.java

import java.util.ArrayList;
import java.util.Arrays;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class FirstList extends Activity {

private ListView mainListView;
private ArrayAdapter<String> myListAdapter;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mainListView = (ListView) findViewById( R.id.mainListView);

    String[] myList = new String[] {"List 1", "List 2", "List 3", "List 4"};

    ArrayList<String> listObjects = new ArrayList<String>();
    listObjects.addAll( Arrays.asList(myList));

    myListAdapter = new ArrayAdapter<String>(this, R.layout.row, listObjects);

    mainListView.setAdapter(myListAdapter);

    }
}

作为新手,我将不胜感激您提供的任何意见,包括您可能会建议或批评我的代码的任何资源,我都不想从一开始就养成不良习惯!

谢谢。

您必须将ImageView添加到row.xml文件中(图像将在ImageView中呈现)-这应该不太困难。

您还必须创建一个自定义ArrayAdapter(扩展ArrayAdapter类)并重写getView方法-这是一项常见的任务,因此您应该轻松找到一些有关如何完成此操作的示例。 您还可以查看原始的ArrayAdapter类( ArrayAdapter ),以了解如何实现getView。 最后,您应该在getView方法中添加图像加载代码。

一种解决方案是使用SimpleAdapter SimpleAdapter允许您将静态数据映射到复杂的视图。 您应该可以通过快速搜索找到许多示例,例如tutorial

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM