[英]Using intent between activities, in reverse - Android
我對android編程(以及一般的Java)很陌生,遇到了困擾我的問題。 我正在構建一個基本的應用程序(用於實踐),該應用程序可以訪問已經構建的網站www.shodan.io。 據我所知,這個特定的網站還沒有android應用,我很喜歡我的研究。 因此,我有一個包含4個活動的應用程序,所有這些活動的加載情況都非常好(在堆棧論壇的大力幫助下)。 它們是:LoadingPage,MainActivity,SearchPage和ExploitSearch。 在我的MainActivity上,我有一個Web視圖來顯示不同的頁面,在它們之間切換的按鈕,徽標等。我的搜索和漏洞利用按鈕每個都加載了相應的頁面而沒有問題。 現在是我的問題。
我想讓搜索和利用活動獲取輸入(當前這是它們的唯一目的),然后將所述輸入保存到字符串中,然后可以從MainActivty訪問該字符串,並將其用作我的url的搜索查詢。
到目前為止,我的搜索已經出現了很多論壇,它們講述了如何從活動1中獲取數據,並使用“意圖”使活動2讀取數據。 但是,我似乎找不到任何資源來進行反向操作或將其另存為字符串(也許在臨時文件中,最好是以后可以調用的內容……有點像“ input” + \\ n,所以它不是覆蓋)
謝謝您的時間(ps。讓我知道所需的任何代碼部分,因為我不想用4個活動及其各自的布局文件填充此線程。)
來源: 從活動中獲取結果
從活動1:
public static final String RESULT_REQUEST = 1;
當您要啟動Activity2時:
Intent intent = new Intent(this, Activity2.class);
startActivityForResult(intent, RESULT_REQUEST);
這將在Activity2完成時調用:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Check which request we're responding to
if (requestCode == RESULT_REQUEST) {
// Make sure the request was successful
if (resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
}
}
}
和Activity2,當您完成並想將字符串發送回時:
Intent returnIntent = new Intent();
returnIntent.putExtra("result","some string");
setResult(RESULT_OK,returnIntent);
finish();
我們已經使用RESULT_REQUEST來唯一標識我們自己的REQUEST,並且您確實需要檢查requestCode是否與您啟動第二個活動的那個相同。
重視價值
Intent i = new Intent(SecondScreen.this, FirstScreen.class);
i.putExtra("STRING_I_NEED", strName);
然后,獲取值:
Bundle extras = getIntent().getExtras();
if(extras == null) {
newString= null;
} else {
newString= extras.getString("STRING_I_NEED");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.