listview用法2

mainXML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="查询框" />

    <ListView
        android:id="@+id/listview_notice"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </ListView>

</LinearLayout>

Item XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/item_notice"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <!-- 公告级别 -->

    <TextView
        android:id="@+id/tv_item_type"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <!-- 广告内容 -->

    <TextView
        android:id="@+id/tv_item_content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <!-- 有效开始时间 -->

    <TextView
        android:id="@+id/tv_item_starttime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <!-- 有效结束时间 -->

    <TextView
        android:id="@+id/tv_item_endtime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <!-- 发布时间 -->

    <TextView
        android:id="@+id/tv_item_publistime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>



adapter

package com.xunfang.epay.query;

import java.util.List;
import java.util.Map;

import com.xunfang.epay.R;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

/**
 * 查询公告的适配器
 * 
 * @author smalt
 * 
 */
public class AdapterNotice extends BaseAdapter {
	@SuppressWarnings("unused")
	private Context _context;
	private List<Map<String, Object>> _listItem;
	private LayoutInflater _Inflater; // 视图容器
	private String[] _index;

	public final class ViewHolder {
		// 自定义控件集合
		/*
		 * _type, // 类型 _content, // 内容 _startTime, // 有效开始时间 _endTime, //
		 * 有效结束时间 _publishTime; // 发布时间
		 */
		public TextView _type, _content, _startTime, _endTime, _pubishTime;
	}

	public AdapterNotice(Context context, String[] index,
			List<Map<String, Object>> list) {
		// 创建视图容器并设置上下文
		this._index = index;
		this._context = context;
		_Inflater = LayoutInflater.from(context);
		this._listItem = list;
	}

	@Override
	public int getCount() {
		// 子项目个数
		return _listItem.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(int position, View convertView, ViewGroup parent) {
		// item设置

		ViewHolder _holder = null;
		if (convertView == null) {
			_holder = new ViewHolder();
			String _type = "" + (String) _listItem.get(position).get(_index[0]);
//			设置对应的关键字
			String _context = ""
					+ (String) _listItem.get(position).get(_index[1]);
			String _startTime = ""
					+ (String) _listItem.get(position).get(_index[2]);
			String _endTime = ""
					+ (String) _listItem.get(position).get(_index[3]);
			String _publishime = ""
					+ (String) _listItem.get(position).get(_index[4]);
			// 获取布局文件视图
			convertView = _Inflater.inflate(R.layout.item_notice, null);
			_holder._content = (TextView) convertView
					.findViewById(R.id.tv_item_content);
			_holder._type = (TextView) convertView
					.findViewById(R.id.tv_item_type);
			_holder._startTime = (TextView) convertView
					.findViewById(R.id.tv_item_starttime);
			_holder._endTime = (TextView) convertView
					.findViewById(R.id.tv_item_endtime);
			_holder._pubishTime = (TextView) convertView
					.findViewById(R.id.tv_item_publistime);
			// 设置字符串内容
			_holder._type.setText(_type);
			_holder._content.setText(_context);
			_holder._startTime.setText(_startTime);
			_holder._endTime.setText(_endTime);
			_holder._pubishTime.setText(_publishime);

			// 设置空间集到converView
			convertView.setTag(_holder);
		} else {
			_holder = (ViewHolder) convertView.getTag();
		}
		return convertView;
	}

}


main:

package com.xunfang.epay.query;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;

import com.xunfang.epay.R;

/**
 * 公告查询界面
 * 
 * @author smalt
 * 
 */
public class Activity20NoticeQuery extends Activity {
	List<Map<String, Object>> _data = null;
	Thread _thread;
	private ListView _ListView;
	private AdapterNotice _AdapterNotice;
	private List<Map<String, Object>> _listItems;
	private String[] _index=new String[] { "type", "context",
			"starttime", "endtime", "publishtime" };

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.layout_notice);
		initView();
		initData();
		iinitListener();
	}

	private void iinitListener() {
		// TODO Auto-generated method stub

	}

	private void initData() {
		// 加载数据
		_listItems = getListItmes();
		_AdapterNotice = new AdapterNotice(this,_index, _listItems);
		_ListView.setAdapter(_AdapterNotice);
	}

//	加载数据
	private List<Map<String, Object>> getListItmes() {
		List<Map<String, Object>> _list = new ArrayList<Map<String, Object>>();

		Map<String, Object> _map = new HashMap<String, Object>();
		_map.put("type", "紧急");
		_map.put("context", "地震了!");
		_map.put("starttime", "11");
		_map.put("endtime", "22");
		_map.put("publishtime", "33");
		_list.add(_map);
		_map = new HashMap<String, Object>();
		_map.put("type", "普通");
		_map.put("context", "发大水!");
		_map.put("starttime", "33");
		_map.put("endtime", "44");
		_map.put("publishtime", "55");
		_list.add(_map);

		return _list;
	}

	private void initView() {
		// TODO Auto-generated method stub
		_ListView = (ListView) findViewById(R.id.listview_notice);

	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值