【发布时间】:2014-04-21 02:50:46
【问题描述】:
我尝试检查EditText 上的用户输入,如果有一个或多个空值,验证图像将变为红色,并且在填充所有字段之前不会移动页面。在我的情况下,我使用了多个具有不同条件的 if 语句,但是
我遇到了一个问题,当我输入两个EditText 而另一个EditText 为空时,页面从当前页面移动到新页面,而它不应该被移动。
这是我的代码:
if (nama_pp.getText().toString().length()==0){img_namalengkap_pp.setImageResource(R.drawable.espaj_red_checklist);}
if (ibu_pp.getText().toString().length()==0){img_namaibu_pp.setImageResource(R.drawable.espaj_red_checklist);}
if (nomor_bukti_pp.getText().toString().length()==0){img_nomeridentitas_pp.setImageResource(R.drawable.espaj_red_checklist);}
if (tempat_pp.getText().toString().length()==0){img_tempat_pp.setImageResource(R.drawable.espaj_red_checklist);}
if (ttl_pp.getText().toString().length()==0){img_tgllahir_pp.setImageResource(R.drawable.espaj_red_checklist);}
if (alamat_pp.getText().toString().length()==0){img_alamat_pp.setImageResource(R.drawable.espaj_red_checklist);}
if (kota_pp.getText().toString().length()==0){img_kota_pp.setImageResource(R.drawable.espaj_red_checklist);}
if (kdtlp1_pp.getText().toString().length()==0){img_telepon_pp.setImageResource(R.drawable.espaj_red_checklist);}
if (telp1_pp.getText().toString().length()==0){img_telepon_pp.setImageResource(R.drawable.espaj_red_checklist);}
else {
getFragmentManager().beginTransaction().replace(R.id.frame_container, new TertanggungPolis()).setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).commit();
}
有没有更快的方法来编写类似的代码以及解决我的问题的最佳解决方案?非常感谢。
【问题讨论】:
-
提示:使用 Android API 的
TextUtils.isEmpty(string)检查它是否为空。 -
对我来说似乎是 codereview.stackexchange.com 的问题。因为您的代码有效,所以您只想优化。
-
@donfuxx 足够接近,但代码本身与最后一个
if-block存在问题(逻辑错误)。我假设 Code Review 只接受有效且正确的代码? -
好吧,如果也有bug那么这里就好了;-)
-
@AndrewT.谢谢你的提示
标签: java android if-statement