我想存储一个时间值,需要检索和编辑它.我SharedPreferences该怎么用呢?
我按下BACK按钮后尝试setResult.我打电话给onDestroy
Intent data = new Intent();
setResult(RESULT_OK, data)
Run Code Online (Sandbox Code Playgroud)
但是当涉及到
onActivityResult(int requestCode, int resultCode, Intent data)
Run Code Online (Sandbox Code Playgroud)
resultCode为0(RESULT_CANCELED),数据为"null".
那么,如何通过BACK按钮终止活动传递结果?
当按下“返回”按钮时,我只想将对象信息从 Activity2 交换回 Activity1。
一切正常,除了在 Activity1onActivityResult(..)中永远不会被触发。因此我无法访问意图信息。有谁知道为什么?
我检查了这些答案,但它们不起作用:
我的代码(如果您需要更多,请告诉我):
AndroidManifest.xml:
<activity
android:name="com.example.Activity1"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.Activity2"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="portrait">
</activity>
Run Code Online (Sandbox Code Playgroud)
Activity1.java:
public class MainActivity extends AppCompatActivity {
// other stuff...
private void showActivity2(Test test) {
Intent intent = new Intent(this, Activity2.class);
intent.putExtra("test", test.getSerializableObject());
startActivityForResult(intent, Activity.RESULT_OK);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode …Run Code Online (Sandbox Code Playgroud)