Android-ListView的使用-为新手而创-BaseAdapter

刚开始学习Android,对一些知识点梳理一下方便大家更好地去了解.使用ListView适合第一次接触ListView的新手内容详细条例清晰代码。图片资源都有
因为刚开始写博客 加上疲劳如有疑问不懂或者错误的地方还请大家与我联系     大家一起学习
Email:742831652@qq.com
QQ:742831652


上一篇博客说过ListView的实现方式有很多

1.XML文件中实现

2.利用ArrayAdapter        适配器实现

3.利用SimpleAdapter   适配器实现(上一篇博客已经写了)

4.利用BaseAdapter       适配器实现(现在要实现的)

--------------------------------(这三种适配器的优势略势大家可以自行百度我先不不去写)


以上是比较常用的   可能还有别的实现方法我还未去了解


大概流程如下

1.在你想要实现ListView的XML文见中(如MainActivity中)上ListView(就像写Button之类的控件)。

2.创建新的XML文件。----------这个XML文件用于显示ListView具体的显示内容

3.再.class文件A上实例化ListView。

4.在.class文件A上实例化Adapter(具体哪个Adapter看你利用上面的哪个一个适配器)

5.创建集合保存数据(),添加到Adapter上.

6.ListView.setAdapter(Adapter);提交适配器


-----------------------------------------效果图------------------------------------------------------------------------


直接上代码利用BaseAdapter实现ListView

1.布局文件中插入个ListView


   
   

   
   

    
    
    
    
    
    


   
   
2.创建一个新的XML布局文件用来显示ListView具体的内容

    
    

    
    
    
     
     
    
     
     
        
      
      
        
      
      
    
     
     


    
    
3.创建一个新的JAVA类继承BaseAdapter(重点在getview方法)
public class item_bean
{
    String item_title;
    String item_content;
    int item_src;
    public item_bean(int item_src,String item_title,String item_content)
    {
        this.item_src = item_src;
        this.item_title = item_title;
        this.item_content = item_content;
    }
}
4.创建一个新的类用来存放数据
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.List;

/**
 * Created by LGA on 2016/10/17.
 */
public class AdapterHelp extends BaseAdapter
{
    LayoutInflater layoutInflater;
    private List
     
     
      
       list;
    public AdapterHelp(Context context,List
      
      
       
        list)
    {
        layoutInflater = LayoutInflater.from(context);
        this.list = list;
    }
    @Override
    public int getCount()
    {
        return list.size();
    }

    @Override
    public Object getItem(int position)
    {
        return list.get(position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {
        ViewHolder viewHolder;
        if(convertView==null)
        {
            convertView = layoutInflater.inflate(R.layout.listview_item,null);
            viewHolder = new ViewHolder();
            viewHolder.imageView = (ImageView)convertView.findViewById(R.id.id_ImageView);
            viewHolder.textView1 = (TextView)convertView.findViewById(R.id.id_TextView_title);
            viewHolder.textView2 = (TextView)convertView.findViewById(R.id.id_TextView_content);
            convertView.setTag(viewHolder);
        }else
        {
            viewHolder = (ViewHolder)convertView.getTag();
        }
        item_bean bean = this.list.get(position);
        viewHolder.imageView.setImageResource(bean.item_src);
        viewHolder.textView1.setText(bean.item_title);
        viewHolder.textView2.setText(bean.item_content);
        return convertView;
    }
    class ViewHolder
    {
        public ImageView imageView;
        public TextView textView1,textView2;
    }
}
      
      
     
     
5.在MainActivity中实现
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListView listView = (ListView)findViewById(R.id.id_ListView);
        List
      
      
       
        list  = new ArrayList<>();
        for(int i = 0;i<20;i++)
        {
            list.add(new item_bean(R.drawable.ima,"我是TITLE" + i,"我是Content"+ i));
        }
        listView.setAdapter(new AdapterHelp(this,list));
    }
}
      
      

大功告成
---------------------------------------------下载区-------------------------------------------------------------
完整包:http://pan.baidu.com/s/1c1LeZJy
图片:http://pan.baidu.com/s/1slCNmw9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值