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