Android传递对活动的引用

时间:2014-10-23 19:33:50

标签: android android-activity reference

目前我有以下代码:

public class GameMenu extends Activity{
    //some code
    public void showOptions(View view){
        if(view.equals(R.id.optionsButton){
            Intent intent = new Intent(this, OptionsMenu.class);
            intent.putExtra("FACADE",this.gameFacade);
            startActivity(intent);
        }
    }
}

OptionsMenu

public class OptionsMenu extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_options_controller);
            Intent calledFromIntend = getIntent();
            this.facade = (Facade) calledFromIntend.getSerializableExtra("facade");
    }
//some more code
}

GameMenu和OptionsMenu中的外观是否相同? 因为现在它是一个副本,所以如果用户在OptionsMenu中检查选项x,则在GameMenu中不知道它。

1 个答案:

答案 0 :(得分:0)

它不一样,因为它会从你在Intent中传递的那个反序列化。您可以在GameMenu中使用startActivityForResult代替startActivity来从OptionsMenu获取结果。有关详细信息,请参阅http://developer.android.com/training/basics/intents/result.html