两个activivty之间传递数组(转)

简介: 两个activivty之间传递数组(转)

Java代码

public class Home extends Activity {   
  
           
  
        public static final String ARRAYS_COUNT = "com.yourname.ARRAYS_COUNT";   
  
        public static final String ARRAY_INDEX = "com.yourname.ARRAY_INDEX";   
  
           
  
        protected void onCreate(Bundle savedInstanceState) {   
  
                super.onCreate(savedInstanceState);   
  
                   
  
                final String data[][] = new String[][] {{"1","pavan"},{"2","kumar"},{"3","kora"},{"1","pavan"},{"2","kumar"},{"3","kora333"}};   
  
                Bundle bundle = new Bundle();   
  
                int count = data.length;   
  
                bundle.putInt(ARRAYS_COUNT, ARRAY_INDEX );   
  
                for (int i = 0; i < count; i++)   
  
                        bundle.putStringArray(ARRAY_INDEX + i, data[i]);   
  
                Intent intent = new Intent(this, Second.class);   
  
                intent.putExtras(bundle);   
  
                startActivity(intent);   
  
                    
  
        }    
  
           
  
}   
  
  
  
public class Second extends Activity {   
  
           
  
        protected void onCreate(Bundle savedInstanceState) {   
  
                super.onCreate(savedInstanceState);   
  
                   
  
                Bundle bundle = getIntent().getExtras();   
  
                   
  
                if (bundle != null) {   
  
                        int count = bundle.getInt(Home.ARRAYS_COUNT, 0);   
  
                        ArrayList<String[]> arrays = new ArrayList<String[]>(count);   
  
                        for (int i = 0; i < count; i++)   
  
                                arrays.add(bundle.getStringArray(Home.ARRAY_INDEX + i));   
  
                        String[][] data = arrays.toArray(new String[][]{});   
  
                }   
  
        }   
  
           
  }   

Bundle b=new Bundle();
b.putStringArray(key, new String[]{value1, value2});
Intent i=new Intent(context, Class);
i.putExtras(b);

方式有很多,如果你不想new Bundle来传

调用intent的intent.putExtra(name, value)两次就可以了

String[] str1 = {"aa","aa"};
        String[] str2 = {"bb","bb"};
        Intent intent = new Intent();
                intent.putExtra("dev1", str1);
                intent.putExtra("dev2", str2);
                intent.setClass(this, OtherActivity.class);
        startActivity(intent);

在取数据的OtherActivity中

   

String[] dev = this.getIntent().getStringArrayExtra("dev1");
        String[] div = this.getIntent().getStringArrayExtra("dev2");

就拿到了字符串

相关文章
|
6月前
如何实现数组和 List 之间的转换?
如何实现数组和 List 之间的转换?
|
5月前
|
编译器
函数\函数先后关系
函数\函数先后关系
27 1
|
6月前
13.从M个球中取出N个球的所有组合情况
13.从M个球中取出N个球的所有组合情况
39 0
|
6月前
2020-10-10 数组和对象的区分方法
2020-10-10 数组和对象的区分方法
|
算法 搜索推荐 编译器
一组类型相同的数据【C 数组】总结
一组类型相同的数据【C 数组】总结
|
C语言
打印100到200之间的单数。打印100到200之间的双数(函数方法)
打印100到200之间的单数。打印100到200之间的双数(函数方法)
130 0
打印100到200之间的单数。打印100到200之间的双数(函数方法)
|
编译器
详解函数的三种传递方式
详解函数的三种传递方式
189 0
|
编译器
传递数组给函数
传递数组给函数
98 0
PHP数组定义方式
PHP数组定义方式
|
C++
C++ 用引用的方式向函数传递数组
C++ 用引用的方式向函数传递数组
147 0
C++ 用引用的方式向函数传递数组
下一篇
无影云桌面