简单说一些intent传值

原来的话都会用一个数组进行存储,然后再去单个的进行put,感觉字段多了的话太麻烦了

下面说一下新的方法,已经解耦

bean

package com.jingchen.pulltorefresh.bean;

import android.os.Parcel;
import android.os.Parcelable;

public class MyNewBean implements Parcelable ,Comparable{

	private String name;
	private String number;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getNumber() {
		return number;
	}

	public void setNumber(String number) {
		this.number = number;
	}
	
	

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

	@Override
	public void writeToParcel(Parcel dest, int flags) {
		// TODO Auto-generated method stub
		dest.writeString(getName());
		dest.writeString(getNumber());
	}

	public MyNewBean(Parcel source) {
		setName(source.readString());
		setNumber(source.readString());
	}

	

	public MyNewBean(String name, String number) {
		super();
		this.name = name;
		this.number = number;
	}



	public static final Creator<MyNewBean> CREATOR = new Creator<MyNewBean>() {

		@Override
		public MyNewBean createFromParcel(Parcel source) {
			// TODO Auto-generated method stub
			return new MyNewBean(source);
		}

		@Override
		public MyNewBean[] newArray(int size) {
			// TODO Auto-generated method stub
			return new MyNewBean[size];
		}
	};

	@Override
	public int compareTo(Object another) {
		// TODO Auto-generated method stub
		return 0;
	}

}
adapter

package com.jingchen.pulltorefresh.adapter;

import java.util.List;

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

import com.jingchen.pulltorefresh.R;
import com.jingchen.pulltorefresh.adapter.MyAdapter.ViewHolder;
import com.jingchen.pulltorefresh.bean.MyNewBean;

public class MyNewAdapter extends BaseAdapter {
	List<MyNewBean> myNewBeanList;
	Context context;

	public MyNewAdapter(Context context, List<MyNewBean> myNewBeanList) {
		super();
		this.myNewBeanList = myNewBeanList;
		this.context = context;
	}

	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return myNewBeanList.size();
	}

	@Override
	public Object getItem(int arg0) {
		// TODO Auto-generated method stub
		return myNewBeanList.get(arg0);
	}

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

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		View view = convertView;
		ViewHolder holder = null;
		if (view == null) {
			view = LayoutInflater.from(context).inflate(
					R.layout.list_item_layout, null);
			holder = new ViewHolder();
			view.setTag(holder);

			holder.tv = (TextView) view.findViewById(R.id.tv);
			holder.text = (TextView) view.findViewById(R.id.text);

		} else {
			holder = (ViewHolder) convertView.getTag();
		}
		MyNewBean myNewBean = (MyNewBean) getItem(position);
		holder.tv.setText(myNewBean.getName());
		holder.text.setText(myNewBean.getNumber());

		return view;
	}

	static class ViewHolder {
		TextView tv;
		TextView text;
	}

}
package com.jingchen.pulltorefresh.activity;

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

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ListView;
import android.widget.Toast;

import com.jingchen.pulltorefresh.PullToRefreshLayout;
import com.jingchen.pulltorefresh.R;
import com.jingchen.pulltorefresh.PullToRefreshLayout.OnRefreshListener;
import com.jingchen.pulltorefresh.adapter.MyAdapter;
import com.jingchen.pulltorefresh.adapter.MyNewAdapter;
import com.jingchen.pulltorefresh.bean.MyBean;
import com.jingchen.pulltorefresh.bean.MyNewBean;

public class PullableListViewActivity extends Activity {
	private ListView listView;
	private PullToRefreshLayout ptrl;
	private boolean isFirstIn = true;
	private String mAddress, mTitle;
	private List<MyBean> myBeans;
	private List<MyNewBean> myNewBeans;
	private List<Map<String, Object>> myList = new ArrayList<Map<String, Object>>();
	MyNewAdapter adapter;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_listview);
		ptrl = ((PullToRefreshLayout) findViewById(R.id.refresh_view));
		ptrl.setOnRefreshListener(new MyListener());
		listView = (ListView) findViewById(R.id.content_view);
		initListView();
	}

	public class MyListener implements OnRefreshListener {

		@Override
		public void onRefresh(final PullToRefreshLayout pullToRefreshLayout) {
			// 下拉刷新操作
			new Handler() {
				@Override
				public void handleMessage(Message msg) {
					// 千万别忘了告诉控件刷新完毕了哦!
					pullToRefreshLayout
							.refreshFinish(PullToRefreshLayout.SUCCEED);
				}
			}.sendEmptyMessageDelayed(0, 3000);
		}

		@Override
		public void onLoadMore(final PullToRefreshLayout pullToRefreshLayout) {
			// 加载操作
			new Handler() {
				@Override
				public void handleMessage(Message msg) {
					// 千万别忘了告诉控件加载完毕
					pullToRefreshLayout
							.loadmoreFinish(PullToRefreshLayout.SUCCEED);
				}
			}.sendEmptyMessageDelayed(0, 3000);
		}

	}

	// @Override
	// public void onWindowFocusChanged(boolean hasFocus) {
	// super.onWindowFocusChanged(hasFocus);
	// // 第一次进入自动刷新
	// if (isFirstIn) {
	// ptrl.autoRefresh();
	// isFirstIn = false;
	// }
	// }

	/**
	 * ListView初始化方法
	 */
	private void initListView() {

		MyBean[] myBeanArray = new MyBean[] { new MyBean("韩冰", "13116239"),
				new MyBean("张海春", "18762345"),
				new MyBean("及徐冰", "18762345") };

		for (int i = 0; i < myBeanArray.length; i++) {

			MyBean myBeans = new MyBean(mTitle, mAddress);

			String mtitle = myBeanArray[i].getTV();
			String madd = myBeanArray[i].getTEXT();

			Map<String, Object> map = new HashMap<String, Object>();
			map.put("m_title", mtitle);
			map.put("m_address", madd);

			myList.add(map);
		}

		Arrays.sort(myBeanArray);

		myBeans = Arrays.asList(myBeanArray);

		// MyAdapter adapter = new MyAdapter(this, myBeans);

		MyNewBean[] myNewBeanArray = new MyNewBean[] {
				new MyNewBean("韩冰", "133016239"),
				new MyNewBean("张海春", "187432345"),
				new MyNewBean("及徐冰", "187632345") };
		Arrays.sort(myNewBeanArray);
		myNewBeans = Arrays.asList(myNewBeanArray);
		 adapter = new MyNewAdapter(this, myNewBeans);
		listView.setAdapter(adapter);
		listView.setOnItemLongClickListener(new OnItemLongClickListener() {

			@Override
			public boolean onItemLongClick(AdapterView<?> parent, View view,
					int position, long id) {
				Toast.makeText(
						PullableListViewActivity.this,
						"LongClick on "
								+ parent.getAdapter().getItemId(position),
						Toast.LENGTH_SHORT).show();
				return true;
			}
		});
		listView.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				Toast.makeText(PullableListViewActivity.this,
						" Click on " + parent.getAdapter().getItemId(position),
						Toast.LENGTH_SHORT).show();

				Intent intent = new Intent(PullableListViewActivity.this,
						DetailActivity.class);
				intent.putExtra("ceshi", (MyNewBean) adapter.getItem(position));
				startActivity(intent);
			}
		});
	}

}

activity中用了pulltorefresh开源刷新的,里面涉及到反射建议大家自己敲一下代码,里面有有加入json,或者sqlite构造方法,因为是模拟实现的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值