我想将以下三个元素从一个活动传递到另一个活动:
String a = "a";
String b = "b";
String c = "c";
我尝试过以下操作但没有成功:
在主要活动(MainActivity)中:
Bundle extras = new Bundle();
extras.putString("a", a);
extras.putString("b", b);
extras.putString("c", c);
Intent intent = new Intent(MainActivity.this, SubActivity.class);
intent.putExtras(extras);
startActivity(intent);
在子活动(SubActivity)中:
Bundle extras = new Bundle();
String a = extras.getString("a");
String b = extras.getString("b");
String c = extras.getString("c");
答案 0 :(得分:0)
在SubActivity中,您应该通过调用getIntent().getExtras();
来获取Bundle,而不是通过创建一个新的Bundle。
public class SubActivity extends Activity {
public void onCreate(Bundle saved) {
super.onCreate(saved);
setContentView(...);
Bundle extras = getIntent().getExtras();
if (extras != null) {
// call extras.getString() here
}
}
}
答案 1 :(得分:0)
String array[] = {"a","b","c"};
Intent i = new Intent(A.this, B.class);
i.putExtra("array", array);
startActivity(i);
在活动B中:
Bundle extras = getIntent().getExtras();
String[] arrayB = extras.getStringArray("array");
答案 2 :(得分:0)
在您的SubActivity中
而不是
Bundle extras = new Bundle();
使用以下
Bundle extras = getIntent().getExtras();
if(extras!=null)
{
String a = extras.getString("a");
String b = extras.getString("b");
String c = extras.getString("c");
}