さて、私が見つけたすべての投稿はこれを機能させることができません、私は私のリスト設定の中にしようとしています
Settingsbasic.xml
<ListPreference
android:title="themes"
android:summary="Select the option of the list"
android:key="listPref"
android:entries="@array/Themes"
android:entryValues="@array/list"
android:defaultValue="default" />
上記のように、これが私のsettingsbasic.xmlファイル内のリスト設定です。今、私が行う方法を知る必要があるのは、私の主な活動である2つのJavaファイルがあることです。と私の好みのJavaファイル。ユーザーが何かを実行したり、何かを開いたり、UIを変更したりするエントリのいずれかをクリックしたときに、どうすればよいかを知る必要があります。コードがどこにどのように配置されるかを知る必要があります。主な活動または選好活動の内部。
これが私の好みのJavaファイルです
public class Prefs extends PreferenceActivity {
ListPreference listPref;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settingsbasic);
}
protected void onResume() {
super.onResume();
// Registers a callback to be invoked whenever a user changes a preference.
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
protected void onPause() {
super.onPause();
// Unregisters the listener set in onResume().
// It's best practice to unregister listeners when your app isn't using them to cut down on
// unnecessary system overhead. You do this in onPause().
getPreferenceScreen()
.getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
// Sets refreshDisplay to true so that when the user returns to the main
// activity, the display refreshes to reflect the new settings.
WebViewClientDemoActivity.????? = true;
}
}
どんなサンプルコードでも役立つか、上記の私のコードに追加します。このコードに光を当てることができる人が必要です。私は非常に多くの異なることを試しましたが、どれもうまくいきません。
さて、ここで推奨されているサンプルアプリのメソッドを使用すると、私が持っているコードがさらにいくつかあります。
Main Activity
public class WebViewClientDemoActivity extends Activity {
public static String sPref = null;
public void onStart() {
super.onStart();
// Gets the user's network preference settings
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
// Retrieves a string value for the preferences. The second parameter
// is the default value to use if a preference value is not found.
sPref = sharedPrefs.getString("listPref", "Default");
}