刚开始学习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
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;
}
}
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;
}
}
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));
}
}