AdapterView学习总结

AdapterView学习总结

  • AdapterView继承ViewGroup,它的本质是一个容器
  • AdapterView可以包括多个“列表项”,并将“列表项”以合适的形式表示出来
  • AdapterView 显示多个“列表项”。调用AdapterView的setAdapter(Adapter)方法设置Adapter

*以下以adapterView的子类listView为例进行讲解*

  • AbsListView是AdapterView的一个子类,而ListView和GirdView是其的两个子类,所以ListView和GridView两者在用法上具有极大的相似性

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        gvHome = (GridView) findViewById(R.id.gv_home);
        gvHome.setAdapter(new HomeAdapter());
    }
    

    //继承BaseAdapter后重写Adapter放啊
    class HomeAdapter extends BaseAdapter {

    @Override
    public int getCount() {
        return mItem.length;
    }
    
    @Override
    public Object getItem(int position) {
        return mItem[position];
    }
    
    @Override
    public long getItemId(int position) {
        return position;
    }
    
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = View.inflate(HomeActivity.this,
                R.layout.home_list_item, null);
        ImageView ivItem = (ImageView) view.findViewById(R.id.iv_item);
        TextView tvItem = (TextView) view.findViewById(R.id.tv_item);
    
        tvItem.setText(mItem[position]);
        ivItem.setImageResource(mPic[position]);
        return view;
        }
    
    }
    

    代码分析及知识点总结

  • 一般在使用适配器都是利用以上这种方法进行,因为BaseAdapter具有极大的扩展性,开发者可以根据自己的意愿去重写Adapter里面的方法。以实现相应的功能。
  • 在重写的方法体内,需要实现的BaseAdapter的四个构造方法,其中第一个个第四个是最重要的。第一个是计算方法体内的值有多少。
  • 第四个方法是根据位置去绘制图像。

总而言之

  • 定义的ListView和GridView只是一个容器。这个容器里面可以装载列表项;
  • 通过调用setAdapter的方法给容器当中装载需要的列表项。

    gvHome.setAdapter(new HomeAdapter());
    
  • 至于列表项当中需要装载什么样的内容,直接通过重写baseAdapter方法就好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值