簡體   English   中英

如何在android中通過Intent發送返回值?

[英]How send return value through Intent in android?

我有一個使用意圖打開另一個類的應用程序:

private void createRepository(){
        Intent j = new Intent(this, Repository.class);
        startActivityForResult(j, ACTIVITY_CREATE);
}

在 Repository.class 我們有onActivityResult方法:

public void onActivityResult(int reqCode, int resultCode, Intent data) {
      super.onActivityResult(reqCode, resultCode, data);

      switch (reqCode) {
        case (PICK_CONTACT) :
          if (resultCode == Activity.RESULT_OK) {
            Uri contactData = data.getData();
            c =  managedQuery(contactData, null, null, null, null);
            if (c.moveToFirst()) {
              //String name = c.getString(c.getColumnIndexOrThrow(People.NAME));
              num = c.getString(c.getColumnIndexOrThrow(People.NUMBER));

            }    

          }    
        break;
      }
      finish();
    }

我不知道如何將num的值返回給第一個類(創建 Repository.class)。 謝謝您的幫助。 邁克爾

我想你把方向弄混了。

在 Repository 類中,您必須在調用完成之前setResult() 對於其他數據,您可以putExtra()數據。

例如,將結果設置在onCreate()函數中。

在您的調用類(啟動存儲庫的類)中,您覆蓋onActivityResult(int requestCode, int resultCode, Intent data)並使用data.getBundleExtra()獲取數據。

Intent 和 Activity 的 Android 參考有很好的描述,示例還包含 ReceiveResult 和 SendResult 示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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