我目前正在探索Android 3.0和4.0的新功能,ActionBar看起来不错,而且menu.xml系统也是如此,它使得导航更容易,并且比整个应用程序更加一致(使用更少的代码)。
同样适用于Android中的偏好,它已成为框架的一部分很长一段时间。通过XML创建应用程序设置非常容易。
在Android中是否有一致的方法来创建和验证表单数据?当然,它已经用Java Web框架解决了一百万次,但是如果不在我自己的代码中实现它,我似乎无法找到一种直接的方法。
我发现EditText.setError()看起来非常有用,但你仍然负责在你的代码中自己设置它,它只能在EditText上使用。如果有一个框架的角落为你处理所有这些东西,那将会很酷。
谢谢!
答案 0 :(得分:0)
对于首选项,您可以使用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;
}
});
}
答案 1 :(得分:0)
就基于EditText的验证而言(我没有使用或测试其他表单样式组件进行验证)我发现在EditText组件上使用setError()方法已足够。
但是其他表单组件存在,开发人员可能希望使用这些组件,例如单选按钮,复选框,微调器等,并且这些组件尚未涵盖相同类型的验证。
作为旁注,我遇到了一个github项目,该项目扩展了setError功能以提供内置验证算法:Android Form EditText