0

main.java とpersistentvalue.javaの2つのアクティビティがあります

値をpersistentvalue.javaに保存し、main.javaで共有設定値を取得します。

persistvalue.java は、新しいページではなく、ポップアップ ページとしての別のアクティビティです。そのため、保存されたボタンを押すたびに、main.javaアクティビティを更新せずに自動的にmain.javaに戻ります

アプリケーションを終了して再度起動すると、新しく更新/編集された共有設定しか取得できません。

メイン アクティビティを更新せずに更新/編集されたばかりの共有設定値を取得するにはどうすればよいですか? persistvalue.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);

persistvalue.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 で値を取得できますが、アプリケーションを終了して再度開始する必要があるため、アクティビティを更新せずに取得する方法があるかどうか疑問に思っています。

インテント アプリ クラッシュを配置すると、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