0

我在 XML 中定义了一个 PreferenceScreen,其中包含几个 EditTextPreference“对象”。我想从这些字段中捕获用户输入,但我不知道如何。答案似乎就在这里,但我不明白: //developer.android.com/reference/android/preference/EditTextPreference.html

我猜它类似于这个:

AlertDialog.Builder alert = new AlertDialog.Builder ( this );
final EditText input = new EditText ( this );
    alert.setView ( input );

    alert.setPositiveButton ( "Ok", new DialogInterface.OnClickListener () {
        public void onClick ( DialogInterface dialog, int whichButton ) {
            c.setName ( input.getText ().toString () );
        }
    } );
4

1 回答 1

1

与其他 Activity 一样,您可以将 PreferenceScreen 用作 PreferenceActivity。其对应的类如下所示:

public class MyPreferencesActivity extends PreferenceActivity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      addPreferencesFromResource(R.xml.preferences);// point your xml file
  }
} 

不要忘记在您的 AndroidManifest.xml 文件中将此类注册为活动。

要显示 Preference 屏幕,只需将其作为通常的 Activity 调用:

Intent i = new Intent(OverviewActivity.this, MyPreferencesActivity.class);
startActivity(i);

你可以访问它的值

SharedPreferences  preferences = PreferenceManager.getDefaultSharedPreferences(this);
String username = preferences.getString("your_key", "default_value");

如需更多参考,请查看http://www.vogella.com/articles/AndroidFileBasedPersistence/article.html#tutorial_preferenceactivity

于 2013-11-04T10:32:22.083 回答