`
zengyan2012
  • 浏览: 409918 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Intent ArrayList

阅读更多

两种方法:

1. 转自:http://blog.sina.com.cn/s/blog_667ad4d80100r2gk.html

很多人好像在郁闷这个问题,我这有个比较笨的方法:用bundle.putParcelableArrayList(list);
当然不能直接把list放进去了,你得经过加工。如下
Intent intent = new Intent();
Bundle bundle = new Bundle();
ArrayList list = new ArrayList();//这个arraylist是可以直接在bundle里传的,所以我们可以借用一下它的功能
list.add(list2);//这个list2才是你真正想要传过去的list。我们把它放在arraylis中,借助它传过去
bundle.putParcelableArrayList("list", list);
intent.putExtras(bundle);
intent.setClass(XXX1Activity.this,XXX2.class);
startActivity(intent);

取的时候:
ArrayList list = bundle.getParcelableArrayList("list");
list2= (List<Object>) list.get(0);//强转成你自己定义的list,这样list2就是你传过来的那个list了。

 

2.转自:http://apps.hi.baidu.com/share/detail/22568390

ntent可以传递Integer和String类型的ArrayList
如果不是Integer或者String,感觉只能用这个万能的串行化了
首先定义一个要传递的Class,要引用Serializable接口,类中定义了一个值为eoeMobile的String域

  1. package com.eoemobile.sunhr.test;
  2. import java.io.Serializable;
  3. public class Data implements Serializable{
  4. /**
  5. *
  6. */
  7. private static final long serialVersionUID = -6746185864607829411L;
  8. private String mValue = null;
  9. public Data(){
  10. mValue = new String("eoeMobile");
  11. }
  12. public String getValue(){
  13. return mValue;
  14. }
  15. }
复制代码



然后在第一个Acrivity——Test1对应的xml中,添加一个Button,Test1的代码如下

  1. package com.eoemobile.sunhr.test;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.view.View.OnClickListener;
  7. import android.widget.Button;
  8. public class Test1 extends Activity {
  9. /** Called when the activity is first created. */
  10. @Override
  11. public void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.main);
  14. Button button = (Button)findViewById(R.id.test1_button);
  15. button.setOnClickListener(new OnClickListener(){
  16. @Override
  17. public void onClick(View v) {
  18. //Initialize the object
  19. Data data = new Data();
  20. //Put object into intent
  21. Intent intent = new Intent(Test1.this,Test2.class);
  22. intent.putExtra("DATA", data);
  23. startActivity(intent);
  24. }
  25. });
  26. }
  27. }
复制代码



在要跳转到的Test2对应的xml中添加一个TextView,Test2代码如下

  1. package com.eoemobile.sunhr.test;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.widget.TextView;
  6. public class Test2 extends Activity {
  7. @Override
  8. protected void onCreate(Bundle savedInstanceState) {
  9. super.onCreate(savedInstanceState);
  10. setContentView(R.layout.test2);
  11. //Get object
  12. Intent intent = this.getIntent();
  13. Data data = (Data)intent.getSerializableExtra("DATA");
  14. //Output
  15. if(data != null){
  16. TextView tv = (TextView)findViewById(R.id.test2_text);
  17. tv.setText(data.getValue());
  18. }
  19. }
  20. }

 

分享到:
评论

相关推荐

    intent传递ArrayList&lt;T&gt;

    intent 传递 ArrayList&lt;T&gt;

    Android编程实现使用Intent传输包含自定义类的ArrayList示例

    主要介绍了Android编程实现使用Intent传输包含自定义类的ArrayList,涉及Android对象序列化、反序列化、Intent数据传输等相关操作技巧,需要的朋友可以参考下

    Intent在Activity之间传值的几种方式

    该资源主要包含了Android中Intent中如何传值的几种方法: 1:基本数据类型,包含了Java八种基本数据类型和CharSequece文本 2:八种数据类新对应数组和CharSequece文本数组 3:Bundle传值 4:ArrayList集合 5:...

    谷歌天气并json解析xml

    Intent intent = new Intent(this, JsonDemoActivity.class); Bundle bundle = new Bundle(); bundle.putSerializable(JsonDemoActivity.WEATHER_INFOS, Utils.getCurrentWeather(args)); intent.putExtras...

    图片选择器

    Intent intent=new Intent(Main2Activity.this,CCwantPhotoBrowserActivity.class); intent.putExtra("CCwantPhotoList",(Serializable) mData); intent.putExtra("CCwantPhotoPosition",(Serializable)position)...

    HXSDKHelper.java 环信Demo 

    private List&lt;Activity&gt; activityList = new ArrayList(); public void pushActivity(Activity activity){ if(!activityList.contains(activity)){ activityList.add(0,activity); } } public void ...

    list嵌套list

    Intent intent = new Intent(QianTaoListviewActivity.this, Activity_1.class); Toast.makeText(QianTaoListviewActivity.this, "第" + arg2 + "个条目", Toast.LENGTH_LONG).show(); ...

    TutorialCardLibrary

    #Tutorial 卡片库 一个简单的库,用于在 android 应用程序中运行教程。 ##用法 创建 TutorialEntry 对象的 ... Intent intent=new Intent(this, TutorialCardActivity.class); intent.putExtra("entries",en

    可扩展的文件选择器NoNonsense-FilePicker

    ArrayList&lt;String&gt; paths = data.getStringArrayListExtra (FilePickerActivity.EXTRA_PATHS); if(paths != null) { for(String path: paths) { Uri uri = Uri.parse(path); // Do something with the URI } } } } ...

    具有拖曳功能的Gallery

    Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.setComponent(new ComponentName(packageName, className)); intent.setFlags(Intent.FLAG_ACTIVITY_...

    医手的文件选择器源码 编译目标android2.2

    操作方法: 长按列表项可进入子目录 调用方法: private void ShowSelectFiles(){ ... ArrayList&lt;String&gt; listFile = data.getStringArrayListExtra("Result"); //处理选中的文件.... } } 医手/2011-04-08

    MP3Player多媒体

    import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Intent; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener;...

    Android判断现在所处界面是否为home主桌面的方法

    本文实例讲述了Android判断现在所处界面是否为home主桌面的方法。分享给大家供大家参考。具体实现方法如下: /** * 获得属于桌面的应用的应用包名称 ... Intent intent = new Intent(Intent.ACTION_

    package com.example.f1_telephone;

    Intent sendIntent = new Intent(Intent.ACTION_VIEW, uri); startActivity(sendIntent); } @Override public void onItemClick(AdapterView&lt;?&gt; arg0, View arg1, int arg2, long arg3) { str=...

    lectures-android:这是我在学校里所有有关Android开发的讲座的资料库

    Android讲座 Android(Java) 练习题 练习01. (翻译) 练习02.(生命周期的活动,烤面包) 练习03.... 练习 (onClick,Drawables,Intent,ArrayList等) 练习10: (语言环境,活动管理,课程等)

    仿QQ简易图片选择器PhotoSelect.zip

     ArrayList filePath = data.getStringArrayListExtra("filePath");  String str1 = "";  for (String str : filePath) {  str1 = str1 str "/n";  }  _tvText.setText(str1 "0");  } } 其中...

    蓝牙APP通信

    Intent intent = new Intent(getApplicationContext(), ServiceActivity.class); intent.putExtra("device", scan_devices_dis.get(position) .GetDevice()); startActivity(intent); } ...

    Android 上应用Googlemap

    import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; //MapView Com import ...

    射击游戏 android

    Intent intent = new Intent(context,SecondActivity.class); Activity mainActivity = (MainActivity)context; if(isWin){ intent.putExtra("message","You are winner of "+level+" outpost!"); ...

Global site tag (gtag.js) - Google Analytics