我想从用户那里获得名字和姓氏,并且输入的数量会动态变化;在验证输入时,它不起作用。
验证代码为;
public class IndividualAdapter extends ArrayAdapter<Individual> {
List<Individual> individualList;
LayoutInflater vi;
ViewHolder holder;
public IndividualAdapter(Context context, List<Individual> objects) {
super(context, R.layout.inidividual_list, objects);
vi = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
individualList = objects;
}
static class ViewHolder {
public EditText edtfName;
public EditText edtlName;
private TextView txtType;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
Individual ind = getItem(position);
if (v == null) {
holder = new ViewHolder();
v = vi.inflate(R.layout.inidividual_list, parent, true);
holder.edtfName = (EditText)findViewById(R.id.fst_name);
holder.edtlName = (EditText)findViewById(R.id.lst_name);
holder.txtType = (TextView)findViewById(R.id.typeValue);
}
holder.txtType.setText(ind.getType());
String fName = holder.edtfName.getText().toString().trim();
String lName = holder.edtlName.getText().toString().trim();
if (fName.equals(" ")) {
holder.edtfName.setError("First Name Can not be empty");
holder.edtfName.setText("First Name Can not be empty");
}
if (lName.equals(" ")) {
holder.edtlName.setError("Last Name Can not be empty");
holder.edtlName.setText("Last Name Can not be empty");
}
return v;
}
}
提交文本字段后,我一点击下一个按钮,我的应用程序就会崩溃
在不填写字段的情况下,它不会显示任何错误。
为什么不在活动类中检查null异常。我认为你所做的不是一个好的编码实践。然而,你为什么不在下面这样尝试呢
if(fName!=null && fName.length()>0)
EditText txtUserName = (EditText) findViewById(R.id.txtUsername);
String strUserName = usernameEditText.getText().toString();
if (strUserName.trim().equals("")) {
Toast.makeText(this, "plz enter your name ", Toast.LENGTH_SHORT).show();
return;
}
or use the TextUtils class like this :
if(TextUtils.isEmpty(strUserName) {
Toast.makeText(this, "plz enter your name ", Toast.LENGTH_SHORT).show();
return;
}
这是因为您正在修剪文本并检查if (fName.equals(" "))
。尝试删除该空间并像这样检查if (fName.equals(""))