validation首选项。 Android的

PreferenceActivity有2个字段。

  1. 一个URL
  2. 时间以秒为单位

我需要validation第一个有效的URL和第二个整数值。 我如何用标准手段来做到这一点?

下面是一些在片段中实现OnPreferenceChangeListener的代码:

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); Your_Pref = (EditTextPreference) getPreferenceScreen().findPreference("Your_Pref"); Your_Pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { Boolean rtnval = true; if (Your_Test) { final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle("Invalid Input"); builder.setMessage("Something's gone wrong..."); builder.setPositiveButton(android.R.string.ok, null); builder.show(); rtnval = false; } return rtnval; } }); } 

您可以在xml中为这些字段使用android:inputType属性,这将显示一个键盘给用户input特定格式的值。

查看更多

http://developer.android.com/reference/android/text/InputType.html

但是这并不能保证URL不会变形。 你需要在提交处理程序中使用正则expression式来检查。