读书人

Android 自定义ListView + Gallery 结

发布时间: 2012-08-31 12:55:03 作者: rapoo

Android 自定义ListView + Gallery 组合

效果如图: Item项包含标题、描述及一个Gallery.

Android 自定义ListView + Gallery 结合

主配置文件(main):

package com.march.view;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ListView;import android.widget.TextView;import com.march.define.R;public class MainActivity extends Activity {/** Called when the activity is first created. */private ListView myLst;private List<ListItem> items = new ArrayList<ListItem>();@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);myLst = (ListView) findViewById(R.id.my_lst);initItems();myLst.setAdapter(new CustomSimpleAdapter(this, items));}//默认数据,可修改private static final String[] titles = new String[] { "title one","title two", "title three", "title four", "title five", "title six" };private static final String[] describes = new String[] { "describe one","describe two", "describe three", "describe four", "describe five","describe six" };private static final int[] images = new int[] { R.drawable.first,R.drawable.second, R.drawable.three, R.drawable.four,R.drawable.five, R.drawable.six };private void initItems() {// 初始化6个ListItem项ListItem item = null;for (int i = 0; i < 6; i++) {item = new ListItem();item.title = titles[i];item.describe = describes[i];item.itemImages = images;item.initAdapter(this);items.add(item);}}public class CustomSimpleAdapter extends BaseAdapter {private List<ListItem> items;private LayoutInflater layoutInflater;public CustomSimpleAdapter(Context context, List<ListItem> items) {// TODO Auto-generated constructor stubthis.items = items;layoutInflater = (LayoutInflater) ((Activity) context).getSystemService(LAYOUT_INFLATER_SERVICE);}@Overridepublic int getCount() {return items.size();}@Overridepublic Object getItem(int position) {return position;}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {//if (null == convertView) {convertView = layoutInflater.inflate(R.layout.items, null);ListItem item = this.items.get(position);TextView title = (TextView) convertView.findViewById(R.id.item_title);title.setText(item.title);TextView describe = (TextView) convertView.findViewById(R.id.item_describe);describe.setText(item.describe);Gallery gallery = (Gallery) convertView.findViewById(R.id.item_gallery);gallery.setAdapter(item.adapter);gallery.setSelection(Integer.MAX_VALUE / 2);convertView.setTag(convertView);/*} else {convertView = (View) convertView.getTag();Log.i("test", "go here convertView");}*/return convertView;}}}


源码下载链接:http://download.csdn.net/download/libei_march/4523293

没有下载分的童鞋请留下你的邮箱.

2楼a59651075昨天 22:39
谢谢楼主分享ndj_xiaoqiang@sina.com
1楼liweikang1208前天 16:29
很好哦,很实用哦

读书人网 >Android

热点推荐