這個問題花了我幾天頭沒有用的。總之,我有兩個Activities
的例子,我會叫他們MainActivity
和SearchActivity
。 MainActivity
有一個按鈕,將您帶到一個搜索屏幕,該屏幕是SearchActivity
,在那裏我有一個具有預設值的按鈕,我想要返回到MainActivity
。到現在爲止還挺好。我點擊調試器中的按鈕,我可以看到我的額外值,下一個斷點是在MainActivity
的onCreate,當我得到額外的東西時,沒有什麼,沒有,全部消失。因此,這裏是重要的組成部分,代碼:傳遞數據到主要活動丟失
MainActivity.class
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnSearch.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent search = new Intent(v.this, SearchActivity.class);
startActivityForResult(search, SEARCH_VIDEO_REQUEST);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == SEARCH_VIDEO_REQUEST) {
if (resultCode == RESULT_OK) {
String url = data.getExtras().getString("VIDEO_URL");
if (url != null) {
txtUrl.setText(url);
}
}
}
}
}
SearchActivity.class
public class SearchActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
btnSend.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String videoUrl = "http://video-url.com";
Intent data = new Intent(SearchActivity.this, MainActivity.class);
data.putExtra("VIDEO_URL", videoUrl);
setResult(RESULT_OK, data);
finish();
}
});
}
}
AndroidManifest.xml中
<activity
android:name="com.project.MainActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Black.NoTitleBar"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED"/>
<data android:scheme="file"/>
</intent-filter>
</activity>
<activity
android:name="com.project.SearchActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
android:screenOrientation="portrait">
</activity>
此代碼似乎在我結束工作。什麼是v.this從這一行「Intent search = new Intent(v.this,SearchActivity.class);」 ? –
「V」是我傳遞給按鈕事件的MainActivity視圖「public void onClick(View v)」。我嘗試過'MainActivity.this'同樣的問題。 – infinity