您的位置:首页 > 移动开发 > Android开发

Android的ListView插件

2016-08-04 19:01 281 查看
首先在XML文件在创建ListView;

然后再在另一个XML文件中创建TextView和ImageView;

=======================================================================================

Viewactivity

public class Viewactivity  extends Activity {
private List<Data> dataList = new ArrayList<Data>();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.listview);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);
intiDatas();
//设置一个adpter适配器
dataAdapter adapter = new dataAdapter(Viewactivity.this,R.layout.data_list , dataList);
ListView listView = (ListView) findViewById(R.id.list_view);
//将构置好的适配器对象传递进去
listView.setAdapter(adapter);
//List中的item按键响应
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Data data = dataList.get(i);
Toast.makeText(Viewactivity.this, data.getDataName(),Toast.LENGTH_SHORT).show();
}
});
}

private void intiDatas() {
Data data1 = new Data("data1", R.drawable.data1);
dataList.add(data1);
等等.....
}
}

=======================================================================================

Adapter

=======================================================================================
public class dataAdapter extends ArrayAdapter<Data> {
private int resourceId;

public dataAdapter(Context context, int dataResourceId, List<Data> datas){
super(context,dataResourceId,datas);
resourceId = dataResourceId;
}
//getView方法是在List中被显示在屏幕中使用
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//使用getItem来获取当前的实例
//获取的是data的String和data图片的ID,在实例化data的时候用了R.id.data1
//实际上R.id.data1是该图片独立的一个INT类型的整数
Data data = getItem(position);
ViewHolder viewHolder;
View view;
//当convertView为空则用layoutInflater去加载布局,否则直接使用convertView
if(convertView==null){
//layoutInflater加载我们传入的布局,即是data_list.xml这个文件的ID
view = LayoutInflater.from(getContext()).inflate(resourceId,null);
viewHolder = new ViewHolder();
//设置图片和名字
viewHolder.dataImage = (ImageView) view.findViewById(R.id.data_image);
viewHolder.dataName = (TextView) view.findViewById(R.id.data_list);
view.setTag(viewHolder);
}else {
view = convertView;
viewHolder = (ViewHolder) view.getTag();
}
viewHolder.dataImage.setImageResource(data.getImgID());
viewHolder.dataName.setText(data.getDataName());
return view;
}
//ViewHolder用于对控件的实例进行储存.
class ViewHolder{
ImageView dataImage;
TextView dataName;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ListView 安卓插件