android中list写法

经常写list,每次都要翻以前的代码拷贝,我就写到这里,以后就到这里考就可以了

 

1,layout中资源文件添加一个list

  <ListView
                        android:id="@+id/modelist"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:background="@color/transparent"
                        android:cacheColorHint="@color/transparent"
                        android:divider="@drawable/short_separator"
                        android:fadingEdge="none"
                        android:fastScrollEnabled="true"
                        android:listSelector="@color/transparent"
                        android:scrollbars="none" />


2,写list的item资源文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_switch"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/transparent"
    android:clickable="true"
    android:orientation="vertical" >
	
	<ImageView
	    android:id="@+id/switchImage"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_gravity="center_horizontal" >
		
	</ImageView>
	
	<TextView
	    android:id="@+id/switchText"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:layout_gravity="center_horizontal"
	    android:text="TextView01"
	    android:textSize="@dimen/textsize_normal"
	    android:textColor="@color/white" >

	</TextView>
</LinearLayout>  

3,实现adepter,里面有个DataHolder

	private class SwithAdapter extends BaseAdapter {

		private List<ISwitchListVO> dataList;

		private Context mContext = null;

		public SwithAdapter(Context context) {
			mContext = context;
		}

		public void setData(List<ISwitchListVO> dataList) {
			if (dataList != null) {
				this.dataList = dataList;
			}
		}

		@Override
		public int getCount() {
			return dataList.size();
		}

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return null;
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return 0;
		}

		@Override
		public View getView(final int position, View convertView, ViewGroup parent) {
			DataHolder dataHolder = null;
			if (convertView == null) {
				convertView = LayoutInflater.from(mContext).inflate(R.layout.item_switch, null);
				dataHolder = new DataHolder();
				dataHolder.layoutSwitch = (LinearLayout) convertView.findViewById(R.id.layout_switch);
				dataHolder.lableView = (TextView) convertView.findViewById(R.id.switchText);
				dataHolder.imgView = (ImageView) convertView.findViewById(R.id.switchImage);
				convertView.setTag(dataHolder);
			} else {
				dataHolder = (DataHolder) convertView.getTag();
			}

			final ISwitchListVO folder = (ISwitchListVO) dataList.get(position);
			folder.checkImgAngString();
			dataHolder.imgView.setBackgroundResource(folder.imgid);
			dataHolder.lableView.setText(folder.stringid);
			final DataHolder holder = dataHolder;
			dataHolder.layoutSwitch.setOnClickListener(new View.OnClickListener() {
				@Override
				public void onClick(View v) {
					// 点击某一个开关之后,进到下一个状态
					Log.i("ui", "press " + position);
					folder.setNextState(BatteryActivity.this);
					if(folder.deviceID==DeviceEnum.AIRPLANE_DEVICE.getDeviceId()){//说明是关闭飞行模式
//						mHandler.sendEmptyMessage(MSG_AIRPLANE_CHANGE);
						Message msg=new Message();
						msg.what=MSG_AIRPLANE_CHANGE;
						mHandler.sendMessageDelayed(msg, 5000);
					}
					// BatterInfoReceiver.getInstance().refreshBatteryTime(0,
					// false);
					// 更改UI
					holder.imgView.setBackgroundResource(folder.imgid);
					holder.lableView.setText(folder.stringid);
				}
			});

			return convertView;
		}

		public class DataHolder {
			public LinearLayout layoutSwitch = null;
			public ImageView imgView = null;
			public TextView lableView = null;

		}
	}


4,初始化adepter

switchAdapter = new SwithAdapter(BatteryActivity.this);
		switchDataList = getCurrentSwitchList();
		switchAdapter.setData(switchDataList);
		switchGridView.setAdapter(switchAdapter);


5,有的时候,需要刷新adepter

switchAdapter.notifyDataSetChanged();

太好了,以后直接到这里找然后改改就可以了,哦哦
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值