【发布时间】:2012-03-19 17:37:56
【问题描述】:
我的应用程序中有一个包含 3 个活动的表单。如果用户没有完成填写第一个活动中的字段,则用户不应进入第二个活动,NextButton 将保持禁用状态,直到字段完成。
表单包含:图片、编辑文本和一个微调器..
问题:
1-我创建了一个函数来检查微调器和编辑文本是否有值... 但我不知道我应该在哪里调用这个函数......
2- 如何检查 imageview 是否包含图片? 注意:用户将从图库中拍照..
-----------我的代码------------
// For Disabling The Buttons
void updateButtonState() {
if(checkimg()&& CheckSpinner() && checkEditText2(CaseName) && checkEditText2(CaseAge) && CheckRButtons(RBMale, RBFemale) ) {
Nextb.setEnabled(true);}
else {Nextb.setEnabled(false);}
}
// For Spinner
private boolean CheckSpinner(){
boolean checkspiner=false;
if( strH == "0" && strM == "0")
checkspiner=false;
else checkspiner= true;
return checkspiner;
}
// For Buttons
private boolean CheckRButtons(RadioButton rBMale2, RadioButton rBFemale2) {
// TODO Auto-generated method stub
boolean but = false;
if ( RBMale.isChecked() || RBFemale.isChecked())
but = true;
return but;
}
// For EditText
private boolean checkEditText2(EditText edit) {
return edit.getText().length() != 0;
}
【问题讨论】:
-
这很简单,在按钮的 onClick() 方法中下一步,您检查文本是否不为 null ,并且微调器具有选定的值,以及您的图像( getBitmapImage() ) ImageView 不为 null ,如果这些条件为真,那么您会将用户重定向到第二个活动,如果不是,您将显示一个 Toast 来告诉用户字段中缺少某些内容:)
-
你应该遵循java命名约定,你的代码很难阅读:java.about.com/od/javasyntax/a/nameconventions.htm
-
@Houcine 感谢您的回答,但我无法使用 imageView.getBitmapImage(); ???你能告诉我怎么用吗?!!
-
现在我在工作,如果你愿意,上传你的项目,给我链接,我可以看到它并在我回家的时候解决问题。
-
@Samiah :关于检查 ImageView,当您将位图设置为 imageView 时,尝试为您的 ImageView 设置标签( imgView.setTag(myBitmap); 以及何时尝试检查是否是否有图像,您将只获取标签并测试它是否不为空( Bitmap b = (Bitmap) imgView.getTag(); if(b == null ) { //imageView 为空} else {/ / 有图 }
标签: java android validation