如何将数组的值从一个Activity传递给另一个Activity?

时间:2014-11-11 12:37:42

标签: android arrays parsing android-fragments

我正在构建一个Android应用程序,用户可以选择自己喜欢的东西。

当用户点击东西的图像时,东西的名称会添加到数组中。

现在我想知道如何将该数组的值解析为任何片段并将其显示在我的微调器列表中。

例如:用户通过单击相应的图像选择移动设备和平板电脑,然后将这些值添加到数组名称'stuffarray'中,现在我想将此数组传递给我在“提交”按钮上的片段,当我点击一个我的片段的微调器它应该有列表中的移动和平板电脑值。

这是我的东西选择代码: 我正在构建一个Android应用程序,用户可以选择他们喜欢的东西。

当用户点击东西的图像时,东西的名称会添加到数组中。

现在我想知道如何将该数组的值解析为任何片段并将其显示在我的微调器列表中。

例如:用户通过单击相应的图像选择移动设备和平板电脑,然后将这些值添加到数组名称'stuffarray'中,现在我想将此数组传递给我在“提交”按钮上的片段,当我点击一个我的片段的微调器它应该有列表中的移动和平板电脑值。

以下是我选择内容的代码:

submite = (ImageButton) findViewById(R.id.nextscreen);      
next.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub

    Intent innext = new Intent(getApplicationContext(), MainActivitytabnew.class);

    startActivity(innext);              

});
img1 = (ImageButton) findViewById(R.id.imageButton1);


 img1.setBackgroundResource(R.drawable.mobile);   
 img1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

     isClicked1=!isClicked1;
        if (isClicked1) {
            img1.setImageResource(R.drawable.mobile);
            start();
            stuff1 = "mobile";

               myList.add(stuff1);



        }else {
            img1.setImageResource(R.drawable.mobile);
            myList.remove(sport1);
            //sport1 = "";  
            txt1.setText("");
        }
}
});

img2 = (ImageButton) findViewById(R.id.imageButton2);
img2.setBackgroundResource(R.drawable.tablet);
img2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

    isClicked2=!isClicked2;
    if (isClicked2) {
        img2.setImageResource(R.drawable.tablet);
        start();
        stuff2 = "tablet";
       myList.add(stuff2);
    }else {
        img2.setImageResource(R.drawable.tablet);
       // sport2 = "";
        myList.remove(sport2);
    }
}
});

2 个答案:

答案 0 :(得分:1)

使用putExtra():

int helloworld = 100;

Intent intent = new Intent( this, Class2.class );
intent.putExtra( "myInt", helloworld );
startActivity( intent ); 

然后在你的下一个活动中使用getExtra() 见documentation for intent

int passedInt = getIntent().getExtras().getInt( "myInt" );

答案 1 :(得分:1)

您也可以在打开它之前设置该值。

第一项活动

Intent intent = new Intent( this, YourOtherClass.class );
int[] myArray = { 0, 1, 2, 3 }; 
YourOtherClass.array = myArray;
startActivity( intent ); 

第二项活动

public static int[] array;

this是您的活动。