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