亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從活動1切換到活動2時,應用崩潰

從活動1切換到活動2時,應用崩潰

開滿天機 2021-05-05 13:10:38
在我的應用程序中,有很多活動被稱為關卡。一種活動是獎勵活動。當我贏得1級時,獎勵活動將打開。現在我想重播1級。為此,我使用了getExtra()。單擊重播按鈕時,我的應用程序崩潰。Houselevel1.java public void getReward(){    if(count == 3) {        Intent intent = new Intent("com.creatives.arfa.revealthesecretsgame.Reward");        intent.putExtra("activity", "level1");        startActivity(intent);    }}HouseLevel2.java    public void getReward(){    if(count == 3) {        Intent intent = new Intent("com.creatives.arfa.revealthesecretsgame.Reward");        intent.putExtra("activity", "level2");        startActivity(intent);    }}Reward.java  public void replayLevel() {    replay = (ImageButton) findViewById(R.id.replay);    Intent intent= getIntent();    activity = intent.getStringExtra("activity");    replay.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View paramView) {            if(activity.equals("level2")){                Intent intent = new Intent("com.creatives.arfa.revealthesecretsgame.HouseLevel2");                startActivity(intent);            }            if(activity.equals("level1")){                Intent intent = new Intent("com.creatives.arfa.revealthesecretsgame.Houselevel1");                startActivity(intent);            }        }    });}
查看完整描述

2 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

如果您只想從活動1或活動2轉到“獎勵”活動,則抓取某些內容并將其發送回任一活動。您要做的是startActivityForResult您傳遞一個ID(常數)以執行對Reward活動的操作,將需要返回的內容打包到Bundle中,然后將ActivtyResult設置為OK并關閉活動。您的應用將返回給Activity1或2,無論誰調用它。在這些活動上,您將重寫onActivityResult方法。在此,您將檢查結果的來源ID是否是您在startActivityForResult上發送的ID,以及狀態是否正常。然后,您就可以對“獎勵”活動進行任何設置。獎勵活動不需要知道它來自何處,只要可以獲取一些數據即可。因此,您以后可以擁有一個調用Reward活動的Activity3,而無需修改Reward活動。在這里說明檢查接受的答案。 如何在Android上管理`startActivityForResult`?


查看完整回答
反對 回復 2021-05-26
  • 2 回答
  • 0 關注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號