zoukankan      html  css  js  c++  java
  • Android Intent传递对象小结

    效果:

    想看实例的,感兴趣的能够看之前的一篇文章

    Android ViewPager Fragment实现选项卡


    部分关键代码:

    public class SerializeActivity extends Activity implements Serializable {
    
    	Button btnlist, btnParcelable, btnSerialze;
    	private final String TAG = "SerializeActivity";
    	public final static String LIST_KEY = "ArrayList";
    	public final static String PAR_KEY = "parcelable";
    	public final static String SER_KEY = "serializable";
    	private static final long serialVersionUID = 1L;
    
    
    	private ArrayList<String> m_list;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_serialize);
    		initView();
    		initlist();
    	}
    	/*
    	 * 初始化视图
    	 */
    	public void initView() {
    		btnlist = (Button) findViewById(R.id.btnlist);
    		btnParcelable = (Button) findViewById(R.id.btnParcelable);
    		btnSerialze = (Button) findViewById(R.id.btnSerialze);
    		btnlist.setOnClickListener(btnlistener);
    		btnParcelable.setOnClickListener(btnlistener);
    		btnSerialze.setOnClickListener(btnlistener);
    	}
    	public void initlist() {
    		
    			m_list = new ArrayList<String>();
    			m_list.add("www.88ios.com");
    			m_list.add("Android移动开发");
    			m_list.add("IOS开发入门");
    		
    	}
    	/*
    	 * button点击事件
    	 */
    	OnClickListener btnlistener = new OnClickListener() {
    
    		public void onClick(View v) {
    			switch (v.getId()) {
    			case R.id.btnlist:
    
    				intentList();
    				break;
    			case R.id.btnParcelable:
    
    				intentParcelabe();
    				break;
    			case R.id.btnSerialze:
    
    				intentShowSer();
    
    				break;
    			}
    		}
    	};
         	/*
    	    * 
    	    */
    		public void intentList() {
    			Intent list_intent = new Intent();
    			list_intent.putStringArrayListExtra(LIST_KEY, m_list);
    			list_intent.setClass(SerializeActivity.this, ShowInfo.class);
    			startActivity(list_intent);
    		}
    		   /*
    		    * 
    		    */
    		public void intentParcelabe() {
    			Student m_Student = new Student();
    			m_Student.setName("88ios.com");
    			m_Student.setAge(25);
    			m_Student.setSex("男");
    			Intent p_Intent = new Intent(SerializeActivity.this,
    					ShowParcelabe.class);
    			Bundle mBundle = new Bundle();
    			mBundle.putParcelable(PAR_KEY, m_Student);
    			p_Intent.putExtras(mBundle);
    			startActivity(p_Intent);
    		}
    		   /*
    		    * 
    		    */
    		public void intentShowSer() {
    			final SerializableMap myMap = new SerializableMap();
    
    			List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
    			Map<String, Object> maplist;
    			Map<String, Object> paramMap4 = new HashMap<String, Object>();
    
    			paramMap4.put("name", "洪生鹏");
    			paramMap4.put("website", "www.88ios.com");
    			paramMap4.put("address", "广州");
    			myMap.setMap(paramMap4);
    
    			SerializableMap serializableMap = (SerializableMap) myMap;
    			maplist = serializableMap.getMap();
    			list.add(maplist);
    
    			Intent mIntent = new Intent(SerializeActivity.this, ShowSer.class);
    			Bundle mBundle = new Bundle();
    
    			mBundle.putSerializable("map", (Serializable) myMap);
    		   //mBundle.putSerializable("map", (Serializable) list);
    
    			mIntent.putExtras(mBundle);
    			startActivity(mIntent);
    		}
    
    
    }
    
    ShowInfo.java

    public class ShowInfo extends Activity {
    
    	private Intent list_intent;
    	private ArrayList<String> m_arrayList;
    	private TextView textview;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_show_info);
    
    		textview = (TextView) findViewById(R.id.textview);
    		StringBuffer sb = new StringBuffer();
    
    		list_intent = getIntent();
    		m_arrayList = list_intent.getExtras().getStringArrayList(
    				SerializeActivity.LIST_KEY);
    		m_arrayList.get(0);
    
    		sb.append(m_arrayList.get(0) + " 
    " + m_arrayList.get(1) + "
    "
    				+ m_arrayList.get(2));
    
    		textview.setText(sb);
    	}
    
    }

    ShowParcelabe.java

    public class ShowParcelabe extends Activity {
    	private TextView textview;  
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_show_parcelabe);
    		
    		textview = (TextView)findViewById(R.id.textview);  
            Student p_student = (Student)getIntent().getParcelableExtra(SerializeActivity.PAR_KEY);    
            textview.setText("姓名: " + p_student.getName()+"
    "+    
                              "年龄: " + p_student.getAge() + "
    " +    
                              "性别 : " + p_student.getSex() + "
    " +  
                              "类:" + p_student.getClass());    
    	}
    
    
    
    }

    ShowSer.java

    public class ShowSer extends Activity {
    	private TextView textview;
    	StringBuilder sb = new StringBuilder();
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_show_ser);
    		textview = (TextView)findViewById(R.id.textview);  
    		Map<String, Object> maplist;
    		Bundle bundle = getIntent().getExtras();
    		SerializableMap serializableMap = (SerializableMap) bundle.get("map");
    		maplist = serializableMap.getMap();
    		/*
    		for (String k : maplist.keySet()) {
    			Toast.makeText(this, "" + maplist.get(k), Toast.LENGTH_SHORT)
    					.show();
    		}
            */
    		Set set = maplist.entrySet();
    		Iterator it = set.iterator();
    		while (it.hasNext()) {
    			Map.Entry entry = (Map.Entry) it.next();
    			String key = (String) entry.getKey();
    			String valu = (String) entry.getValue();
    			sb.append(key+"  "+valu+"
    ");
    		}
    		textview.setText(sb);   
    	}
    
    }
    



    转载请保留链接

    http://hongshengpeng.com/article/show/271.aspx


    源码下载 


    QQ

    交流群:154950206 进群验证:88ios


  • 相关阅读:
    WCF开发框架形成之旅---WCF的几种寄宿方式
    使用Winform程序作为WCF服务的宿主
    Winfrom 使用WCF 实现双工通讯
    WCF简单实例--用Winform启动和引用
    ASP.NET用QQ,网易发送邮件以及添加附件
    神经网络浅讲:从神经元到深度学习
    jQuery EasyUI combobox多选及赋值
    easyui combobox 带 checkbox 亲自验证
    天地图api地址
    1-3Controller之Response
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/3805852.html
Copyright © 2011-2022 走看看