簡體   English   中英

針對“結果活動”的同一活動的多個請求代碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM