![](/img/trans.png)
[英]Why doesn't startActivityForResult() lead to onActivityResult() execution?
[英]Why doesn't onActivityResult() work?
我在這里的目的是將“ibChamp”的圖片從默認圖片更改為“ahri”。 請注意,***s 內的名稱是活動的名稱。
***CreateBuilds.java***
ibChamp.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Intent champs = new Intent(CreateBuilds.this, Champions.class);
//creates the Intent champs for startActivityForResult()
startActivityForResult(champs, 0);
//opens up Champions.class layout
}
});
protected void onActivityResult(int requestCode, int resultCode, int data){
//starts when this.finish() from Champions is ran
ImageButton ibChamp = (ImageButton) findViewById(R.id.ibChamp);
//creates the ImageButton ibChamp
ibChamp.setImageResource(R.drawable.ahri);
//sets the picture of ibChamp to "ahri"
};
***Champions.java****
private myapplicationtest mytestInst = new myapplicationtest();
public void changePicture(final int champion){
mytestInst.setInt(champion);
//runs "setInt" from the myapplicationtest class
this.finish();
//closes this current layout to run onActivityResult
}
在這段代碼中,onActivityResult() 似乎沒有運行,因為在“Champions.java”完成后,“ibChamp”的圖片沒有改變。 如果有特別明顯的地方,請說明,歡迎提出任何問題。
finish()
將終止活動。 恕我直言,調用finish()
然后進行布局更改是沒有意義的(我假設要完成的活動中的視圖)。
將“int 數據”更改為“意圖數據”:
protected void onActivityResult(int requestCode, int resultCode, int data)
---->
protected void onActivityResult(int requestCode, int resultCode, Intent data)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.