Seb*_*rth 1 android filter preferences
我想将InputFilter应用于我的EditTextPreferences ...
在我使用PreferenceActivity之前,我使用了EditTexts和Filters之类的:
et1 = (EditText) findViewById(R.id.editText1);
et2 = (EditText) findViewById(R.id.ETminsim);
et3 = (EditText) findViewById(R.id.ETdelay);
et1.setText(Integer.toString(PlotView.playlist_size), EditText.BufferType.EDITABLE);
et2.setText(Integer.toString(conversorToInt(PlotView.min_sim)), EditText.BufferType.EDITABLE);
et3.setText(Integer.toString(MusicService.getSeek()/1000), EditText.BufferType.EDITABLE);
et1.setFilters(new InputFilter[]{ new InputFilterMinMax(1, 30)});
et2.setFilters(new InputFilter[]{ new InputFilterMinMax(0, 100)});
et3.setFilters(new InputFilter[]{ new InputFilterMinMax(0, 300)});
Run Code Online (Sandbox Code Playgroud)
但是如何引用EditTextPreference的EditTexts来设置这些过滤器?
我的新代码:
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
getPreferenceManager().setSharedPreferencesName(Singleton.PREFS_NAME);
addPreferencesFromResource(R.xml.prefs);
//TODO set InputFilter
}
Run Code Online (Sandbox Code Playgroud)
康斯坦丁大多是正确的.将他的回答与塞巴斯蒂安对他的答案的评论相结合,你得到了
EditText editText1 = ((EditTextPreference) findPreference(preference_1_key))
.getEditText();
editText1.setFilters(new InputFilter[]{ new InputFilterMinMax(1, 30) });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2309 次 |
| 最近记录: |