按下菜单按钮时Android会发送额外数据

时间:2014-04-16 09:33:17

标签: java android

我的活动需要发送给它的特定数据。因此,当用户按下菜单中的活动时,我需要发送一个额外的字符串,所以我的代码目前是:

    public static boolean createMenu(SherlockActivity aActivity, Menu menu){

    MenuInflater inflater = aActivity.getSupportMenuInflater();
    inflater.inflate(R.menu.main_menu, menu);

    menu.findItem(R.id.hearing_test).setIntent(new Intent(aActivity, InstructionsActivity.class));
    menu.findItem(R.id.learn).setIntent(new Intent(aActivity, LearnActivity.class));
    menu.findItem(R.id.share).setIntent(new Intent(aActivity, ShareActivity.class));
    menu.findItem(R.id.locate).setIntent(new Intent(aActivity, MapActivity.class));
    menu.findItem(R.id.saved).setIntent(new Intent(aActivity, SavedResultsActivity.class));
    return true;
}   

那么如何将额外数据发送到我的instructionsActivity?我知道我使用putExtra之类的东西,但我无法弄清楚如何使用这个特定的代码。任何帮助将不胜感激。感谢。

修改

我是否会创建一个单独的意图并将其传递到setIntent,如下所示:

Intent i = new intent(aActivity, InstructionsActivity.class);
i.putExtra("Flag", "firstInstructions");

然后将意图传递给setIntent

3 个答案:

答案 0 :(得分:2)

如果您想在Intent中传递数据,可能需要替换下面的

menu.findItem(R.id.hearing_test).setIntent(new Intent(aActivity, InstructionsActivity.class));

使用

Intent intent = new Intent( aActivity, InstructionsActivity.class );
intent.putExtra( EXTRAS_KEY, extras );
menu.findItem(R.id.hearing_test).setIntent(intent);

希望这有帮助

答案 1 :(得分:1)

Intent instruction = new Intent(aActivity, InstructionsActivity.class);
instruction.putExtra(Extra,"Extra Data");
menu.findItem(R.id.hearing_test).setIntent(instruction);

答案 2 :(得分:1)

你可以这样做:

Intent i = new intent(aActivity, InstructionsActivity.class);
i.putExtras("Flag", "firstInstructions");
i.putExtras("Flag2", "firstInstructions2");
i.putExtras("Flag3", "firstInstructions3");

希望这会有所帮助.. :)