簡體   English   中英

如何從EditTextPreference獲取用戶輸入(並對其進行處理)?

[英]How do I get user input from EditTextPreference (and do something with it)?

我已經用XML定義了一個PreferenceScreen,其中包含幾個EditTextPreference“對象”。 我想從這些字段中捕獲用戶輸入,但是我看不出怎么做。 答案似乎就在這里,但我不明白這一點: http : //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 () );
        }
    } );

與其他活動一樣,您可以將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文件中將此類注冊為活動。

要顯示“首選項”屏幕,只需將其作為通常的“活動”調用即可:

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

您可以按以下方式訪問其值

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

有關更多參考,Hava請訪問http://www.vogella.com/articles/AndroidFileBasedPersistence/article.html#tutorial_preferenceactivity

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM