我有两个不同的活动菜单和练习。 当我通过点击按钮开始后一个活动时,我需要将一些数据从Menu传递给Exercise。 以下是菜单活动中的代码:
Button b = (Button) findViewById(R.id.temp);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
Intent i = new Intent(context, ExerciseActivity.class);
Bundle b = new Bundle();
b.putString("colors","Blue");
b.putIntArray("workoutlist",new int[] {0,1});
i.putExtras(b);
//i.putExtra("workoutlist",MyApp.workoutList.get(0));
//i.putExtra("colors","Blue");
startActivity(i);
}
});
使用调试工具我已经检查过所有数据都在意图包中。 以下是应该从练习活动中的意图中检索数据的代码:
Intent in = getIntent();
Bundle b = in.getExtras();
String[] colorSets = (String[]) b.get("colors");
int[] l = (int[]) b.get("workoutlist");
事实是,当我收到它时,它是空的,显然我无法继续。
此外,我已经在其他活动之间使用了几乎相同的代码,一切正常。
为什么会这样?是否有我遗漏的东西会产生这个错误?也许两个活动之间有些不相容?
感谢您的帮助!
答案 0 :(得分:1)
您使用String
添加putString()
并使用getString()
获取Intent in = getIntent();
Bundle b = in.getExtras();
String colorSets = b.getString("colors");
int[] l = b.getIntArray("workoutlist");
。其他类型也是如此。
php -m