[英]Multiple Request Code for the same activity on Activity For Result
是否有多個請求代碼都可以啟動同一活動? 如果是這樣,如何以正確的呼叫請求代碼返回結果?
setResult(RESULT_OK, intent) ;
按照我的理解傳遞請求代碼,但是onActivityResult如何知道哪個鍵啟動了意圖? 喜歡
if(int j ==0 ){
startActivityResult(intent,0);
} else if(j ==1 ){
startActivityResult(intent,1);
} else if(j ==3 ){
startActivityResult(intent,3);
}
是的,這很好。 onActivityResult
接收請求代碼作為其第一個參數,因此您可以在此處檢查請求代碼。 您應該為請求代碼創建常量,並引用代碼中的常量,而不要像發布的示例那樣引用硬編碼的值。
private static final int REQUEST_SOMETHING = 1;
private static final int REQUEST_SOMETHING_ELSE = 2; // etc
if (j == REQUEST_SOMETHING) {
startActivityForResult(intent, REQUEST_SOMETHING);
else if (j == REQUEST_SOMETHING_ELSE) {
startActivityForResult(intent, REQUEST_SOMETHING_ELSE);
} // etc
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
switch(requestCode) {
case REQUEST_SOMETHING:
// do something
break;
case REQUEST_SOMETHING_ELSE:
// do something else
break;
// etc.
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.