自定义的ListView的Andr​​oid自定义、ListView、oid、Andr

2023-09-12 00:17:11 作者:过眼云烟

我有问题,我自定义的ListView。

I have problem with my custom ListView.

SimpleAdapter adapter = new SimpleAdapter(this,
  this.dh.selectAll(),
  R.layout.custom_row_view,
  new String[] {"Icon","Chance","TeamID"},
  new int[] {R.id.text1,R.id.text2, R.id.text3});
  setListAdapter(adapter);

这是我简单的适配器。我想投入他们的图标,我能做到这一点?

This is my simple adapter. I want put into them icons, can I do that?

推荐答案

是的,你可以...

MyList.java:

MyList.java:

package com.TestActivity;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.ListActivity;
import android.os.Bundle;
import android.widget.SimpleAdapter;


public class MyList extends ListActivity {

    final static ArrayList<HashMap<String, ?>> data = new ArrayList<HashMap<String, ?>>();

    static{
        HashMap<String, Object> row  = new HashMap<String, Object>();
        row.put("Icon", R.drawable.flags_albania);
        row.put("Chance", "65%");
        row.put("TeamID", "Albania");
        data.add(row);
        row  = new HashMap<String, Object>();
        row.put("Icon", R.drawable.flags_rpa);
        row.put("Chance", "55%");
        row.put("TeamID", "RPA");
        data.add(row);
        row  = new HashMap<String, Object>();
        row.put("Icon", R.drawable.flags_polska);
        row.put("Chance", "100%");
        row.put("TeamID", "Polska :)");
        data.add(row);
    }
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        SimpleAdapter adapter = new SimpleAdapter(this,
                data,
                  R.layout.row,
                  new String[] {"Icon","Chance","TeamID"},
                  new int[] { R.id.imageView1, R.id.textView1,R.id.textView2});
       setListAdapter(adapter);

    }
}

RES /布局/ row.xml:

res/layout/row.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/icon" android:id="@+id/imageView1"/>
    <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
    <TextView android:text="TextView" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
</LinearLayout>

把PNG图像与标志RES /绘制 - 华电国际/

put pngs with flags to res/drawable-hdpi/

flags_albania.png flags_rpa.png flags_polska.png

flags_albania.png flags_rpa.png flags_polska.png

,您将得到smthing是这样的:

and you will get smthing like this: