0

我有 2 个活动:main.java 和 persistentvalue.java

我将值保存在 persistentvalue.java 并在 main.java 中检索共享首选项值。

persistentvalue.java 是另一个作为弹出页面而不是新页面的活动。所以每当我按下保存的按钮时,它会自动返回到 main.java 而不刷新 main.java 活动

当我退出应用程序并重新启动它时,我只能检索新更新/编辑的共享首选项。

如何在不刷新主要活动的情况下检索刚刚更新/编辑的共享偏好值?因为当我将意图从 persistentvalue.java 放到 main.java 时,我的应用程序崩溃了。

在这里感谢一些帮助。

代码:

持久值.java

prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

SharedPreferences.Editor editor = prefs.edit();
editor.putString("text1", editText1.getText().toString());
editor.commit();

main.java

prefs =  PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

text1 = prefs.getString("text1", "");

showText.setText(text1);

persistentvalue.java其实就是一个弹屏AndroidManifest.xml

<activity
        android:screenOrientation="nosensor"
        android:configChanges="orientation|keyboardHidden"
        android:windowSoftInputMode="adjustPan|adjustResize"
        android:name="com.example.project.main"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <!-- A child of the main activity -->
    <activity
        android:theme="@android:style/Theme.Dialog"
        android:screenOrientation="nosensor"
        android:configChanges="orientation|keyboardHidden"
        android:name="com.example.project.persistentvalue"
        android:parentActivityName="com.example.project.main" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.project.main" />
    </activity>

我能够在 main.java 中检索值,但我必须退出应用程序并重新启动它,所以只是想知道是否有一种方法可以在不刷新活动的情况下进行检索。

当我把intent app crash时,logcat如下图:

10-19 03:53:35.660: E/AndroidRuntime(4518): FATAL EXCEPTION: Thread-217
10-19 03:53:35.660: E/AndroidRuntime(4518): java.lang.NullPointerException
4

0 回答 0