Andriod 适配器使用事例

自定义适配器继承BaseAdapter:


    class GeneralAdapter extends BaseAdapter{

        @Override
        public int getCount() {
            return mGenerals.size();
        }

        @Override
        public GeneralBean getItem(int position) {
            return mGenerals.get(position);
        }

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

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            //拿到ListViewItem的布局,转换为View类型的对象
            View layout=View.inflate(MainActivity.this, R.layout.item_generals, null);
            //找到显示军事家头像的ImageView
            ImageView ivThumb=(ImageView) layout.findViewById(R.id.ivThumb);
            //找到显示军事家名字的TextView
            TextView tvName=(TextView) layout.findViewById(R.id.tvName);
            //获取军事中下标是position的军事家对象
            GeneralBean bean=mGenerals.get(position);
            //显示军事家头像
            ivThumb.setImageResource(bean.getResid());
            //显示军事家的姓名
            tvName.setText(bean.getName());
            
            return layout;
        }
        
    }


SimpleAdapter:

public class MainActivity extends Activity {

    ListView mlvGenerals;
    List> mGenerals;
    SimpleAdapter mAdapter;
    
    static final String KEY_PHOTOID="photoid";
    static final String KEY_NAME="name";
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initData();//初始化数据
        initView();
    }

    private void initView() {
        mlvGenerals=(ListView) findViewById(R.id.lvGeneral);
        mAdapter=new SimpleAdapter(this, mGenerals,
            R.layout.item_generals,
            new String[]{KEY_PHOTOID,KEY_NAME},
            new int[]{R.id.ivThumb,R.id.tvName});
        mlvGenerals.setAdapter(mAdapter);
    }

    private void initData() {
        int[] resid={
                R.drawable.baiqi,R.drawable.caocao,R.drawable.chengjisihan,
                R.drawable.hanxin,R.drawable.lishimin,R.drawable.nuerhachi,
                R.drawable.sunbin,R.drawable.sunwu,R.drawable.yuefei,
                R.drawable.zhuyuanzhang
        };
        String[] names=getResources().getStringArray(R.array.generals);
        mGenerals=new ArrayList>();
        HashMap general;
        for (int i = 0; i < names.length; i++) {
            general=new HashMap();
            general.put(KEY_PHOTOID, resid[i]);
            general.put(KEY_NAME, names[i]);
            mGenerals.add(general);
        }
    }

ArrayAdapter:

public class MainActivity extends Activity {
    ListView mlvWeek;
    ArrayAdapter mAdapter;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        mlvWeek=(ListView) findViewById(R.id.lvWeek);
        mAdapter=ArrayAdapter.createFromResource(this,
                R.array.day_of_week,
                android.R.layout.simple_expandable_list_item_1);
        mlvWeek.setAdapter(mAdapter);
    }

}


你可能感兴趣的:(Andriod)