2

EditTextPreferenceを作成しましたが、他のアクティビティから値を取得したいと思います。私はたくさんのことを試みてきましたが、それを機能させることができません。この値はどこに保存されますか?どうすれば取得できますか?

編集:アクティビティではなく、別のアクティビティから値を取得したいPreferences

settings.xml

<EditTextPreference
    android:title="EditText1"
    android:key="edit1"
    android:defaultValue="0"
    android:dialogIcon="@drawable/fleetespiar"
    android:inputType="number" />

Settings.java (別のアクティビティでこれを行う方法)

Preference edit1= findPreference("edit1");
EditTextPreference editt1 = (EditTextPreference) edit1;

System.out.println(String.valueOf(editt.getText().toString()));
4

2 に答える 2

2

最初にのインスタンスを作成する必要があります。次に、値のキーを指定して、のインスタンスをSharedPreferences呼び出すことができます。getString()

于 2012-07-08T19:46:25.267 に答える
1

値は共有設定ファイルに保存されます。

以下の私の小さな例を確認してください。

  1. Androidプロジェクトのresディレクトリ(リソース)内にxmlディレクトリを作成します。

  2. 新しいxmlディレクトリ内に、EditTextPreferenceを含むpreference.xmlファイルを作成する必要があります。

        <?xml version="1.0" encoding="utf-8"?>
        <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
            <EditTextPreference
                android:dialogTitle="My preference"
                android:key="pref"
                android:summary="Enter Your Preference"
                android:title="Edit Text Preference" />
        </PreferenceScreen>
    
  3. 次に、 PreferenceActivityを拡張するPreferencesクラスを作成します。

        import android.content.SharedPreferences;
        import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
        import android.os.Bundle;
        import android.preference.EditTextPreference;
        import android.preference.Preference;
        import android.preference.PreferenceActivity;
    
            public class Preferences extends PreferenceActivity {
    
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                 super.onCreate(savedInstanceState);
                 addPreferencesFromResource(R.xml.preferences);
            }
        }
    
  4. SharedPreferenceオブジェクトを使用して、String値を挿入および取得します。

于 2012-07-08T20:25:47.480 に答える