public class MainActivity extends AppCompatActivity {

  private String[] names = new String[]{\"B神\", \"基神\", \"曹神\"};
    private String[] says = new String[]{\"无形被黑,最为致命\", \"大神好厉害~\", \"我将带头日狗~\"};
    private int[] imgIds = new int[]{R.mipmap.head_icon1, R.mipmap.head_icon2, R.mipmap.head_icon3};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        List<Map<String,  >> listitem = new ArrayList<Map<String,  >>();
        for (int i = 0; i < names.length; i++) {
            Map<String,  > showitem = new HashMap<String,  >();
            showitem.put(\"touxiang\", imgIds[i]);
            showitem.put(\"name\", names[i]);
            showitem.put(\"says\", says[i]);
            listitem.add(showitem);
        }

        //创建一个simpleAdapter
        SimpleAdapter myAdapter = new SimpleAdapter(getApplicationContext(), listitem, R.layout.list_item, new String[]{\"touxiang\", \"name\", \"says\"}, new int[]{R.id.imgtou, R.id.name, R.id.says});
        ListView listView = (ListView) findViewById(R.id.list_test);
        listView.setAdapter(myAdapter);
    }
}

SimpleAdapter基本上认知了其参数含义 用起来就简单多了
SimpleAdapter的参数说明
第一个参数 表示访问整个android应用程序接口,基本上所有的组件都需要
第二个参数表示生成一个Map(String , )列表选项
第三个参数表示界面布局的id 表示该文件作为列表项的组件
第四个参数表示该Map对象的哪些key对应value来生成列表项
第五个参数表示来填充的组件 Map对象key对应的资源一依次填充组件 顺序有对应关系
注意的是map对象可以key可以找不到 但组件的必须要有资源填充 因为 找不到key也会返回null 其实就相当于给了一个null资源
下面的程序中如果 new String[] { “name”, “head”, “desc”,“name” } new int[] {R.id.name,R.id.head,R.id.desc,R.id.head}
这个head的组件会被name资源覆盖

收藏 打印