android:listview使用自定义图像

android:listview使用自定义图像,android,listview,android-listview,Android,Listview,Android Listview,这是我的密码 我的绘图文件夹中有png 饮酒者 自行车 帽子 鞋 mAdapter.addItem(R.drawable.drinkcan,“card”,“1”) 有人能帮我弄清楚如何添加带有不同列表项的自定义图像吗 mAdapter.addItem(R.drawable.drinkcan, "drinkcan", "1"); mAdapter.addItem(R.drawable.shoes, "shoes", "1"); mAdapter.addItem(R.drawable.hat, "h

这是我的密码 我的绘图文件夹中有png 饮酒者 自行车 帽子 鞋 mAdapter.addItem(R.drawable.drinkcan,“card”,“1”)

有人能帮我弄清楚如何添加带有不同列表项的自定义图像吗

mAdapter.addItem(R.drawable.drinkcan, "drinkcan", "1");
mAdapter.addItem(R.drawable.shoes, "shoes", "1");
mAdapter.addItem(R.drawable.hat, "hat", "1");
我的主xml中也有这个

<LinearLayout android:id="@+id/thumbnail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dip"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="5dip">

        <ImageView
            android:id="@+id/list_image"
            android:layout_width="50dip"
            android:layout_height="50dip"

            android:src="@drawable/ic_launcher" />
    </LinearLayout>


是否将此图像添加到所有项目中?请帮助我添加自定义图标。

您可以通过创建自定义适配器来完成此操作 查看下面的链接,可能会对您有所帮助


要实现此目的,请执行以下操作

public class SingleItem {

    private int drawableId;
    private String name;
    private String no;

    public int getDrawableId() {
        return drawableId;
    }

    public void setDrawableId(int drawableId) {
        this.drawableId = drawableId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getNo() {
        return no;
    }

    public void setNo(String no) {
        this.no = no;
    }
}
现在创建一个方法,将项目添加到类似

 @Override
        protected void onCreate(Bundle savedInstanceState) {
//OnCreate of Activity you Created
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_login_screen);

    ListView listView = (ListView) findViewById(R.id.list);
    Adapter adapter = new Adapter(getAllItems);
    listView.setAdapter();
        }
private List<SingleItem> getAllItems(){
        List<SingleItem> allItems  = new ArrayList<>();
        SingleItem singleItem = new SingleItem();
        singleItem.setName("hat");
        singleItem.setDrawableId(R.drawable.test);
        singleItem.setNo("1");
        allItems.add(singleItem);
        return allItems;
    }
@覆盖
创建时受保护的void(Bundle savedInstanceState){
//一旦创建了您创建的活动
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u login\u屏幕);
ListView ListView=(ListView)findViewById(R.id.list);
适配器=新适配器(getAllItems);
setAdapter();
}
私有列表getAllItems(){
List allItems=new ArrayList();
SingleItem SingleItem=新的SingleItem();
singleItem.setName(“帽子”);
singleItem.setDrawableId(R.drawable.test);
单一项目。设置编号(“1”);
所有项目。添加(单个项目);
返回allItems;
}
最后使用基本适配器将此allItems设置为ListView。像这样

class Adapter extends BaseAdapter {

        private List<SingleItem> allSingleItems;

        public Adapter(List<SingleItem> items) {
            allSingleItems = items;
        }

        @Override
        public int getCount() {
            return (allSingleItems==null)?0:allSingleItems.size();
        }

        @Override
        public SingleItem getItem(int i) {
            return allSingleItems.get(i);
        }

        @Override
        public long getItemId(int i) {
            return 0;
        }

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {

            //Set data in Views here
            return null;
        }
    }
类适配器扩展BaseAdapter{
私人物品清单;
公用适配器(列表项){
allSingleItems=项目;
}
@凌驾
public int getCount(){
返回值(allSingleItems==null)?0:allSingleItems.size();
}
@凌驾
公共单项getItem(int i){
返回所有单个项目。获取(i);
}
@凌驾
公共长getItemId(int i){
返回0;
}
@凌驾
公共视图getView(int i、视图视图、视图组视图组){
//在此处设置视图中的数据
返回null;
}
}

希望这能有所帮助。

我想这和我做的项目很相似 我正在更改项目字段的颜色,这取决于它们的状态 我创建了一个自定义适配器,并在显示之前逐个筛选所有数据
在这种情况下,我可以根据其状态轻松设置字段颜色。

我们需要更多信息,我正在处理此项目,我是beginer,现在如何为每个项目添加自定义图标?您提供的此链接将在所有项目上添加相同的图标,我已经有了,但我不想要,先生。这两个例子都有检查**如何在ListView中创建显示图像和文本视图的自定义适配器**第二篇文章我遵循了所有步骤,得到了空白的白页。我如何调用或使用这个和私有列表getAllItems(){List allItems=new ArrayList();SingleItem SingleItem=new SingleItem();SingleItem.setName(“帽子”);SingleItem.setDrawableId(R.drawable.test);SingleItem.setNo(“1”);allItems.add(SingleItem);return allItems;}Dude将调用它来代替这个mAdapter.addItem(R.drawable.drinkcan,“drinkcan”,“1”);mAdapter.addItem(R.drawable.shoes,“shoes”,“1”);mAdapter.addItem(R.drawable.hat,“hat”,“1”);在此之后添加适配器,如此适配器=新适配器(getAllItems());setAdapter();是否放置此私有列表getAllItems(){List allItems=new ArrayList();SingleItem SingleItem=new SingleItem();SingleItem.setName(“帽子”);SingleItem.setDrawableId(R.drawable.test);SingleItem.setNo(“1”);allItems.add(SingleItem);返回allItems;}看看我编辑过的帖子,如果这行得通,请接受答案。我要添加这个吗@重写受保护的void onCreate(Bundle savedInstanceState){//onCreate您创建的活动必须有一个活动类在其中执行此操作。