我正在尝试进行一些数据验证。简而言之,当按下添加按钮时,如果未填写某些字段,那么我想显示一个消息框并从进一步处理中返回。
这是没有messageBox代码的代码流:
Button add = (Button) findViewById(R.id.addButton);
add.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
//local vars
String access;
String gender;
String avail;
String availCode;
// getting values from selected editItems
String name = textName.getText().toString();
String street = textStreet.getText().toString();
String city = textCity.getText().toString();
String state = textState.getText().toString();
String postal = textPostal.getText().toString();
String country = textCountry.getText().toString();
String directions = textDirections.getText().toString();
String comments = textComments.getText().toString();
//verify miniminal data
if((name.equals("")) || (street.equals(""))|| (city.equals("")) || (state.equals("")) || (postal.equals("")) || (country.equals("")))
{
}
我尝试粘贴此代码:
//verify miniminal data
if((name.equals("")) || (street.equals(""))|| (city.equals("")) || (state.equals("")) || (postal.equals("")) || (country.equals("")))
{
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setCancelable(false);
builder.setTitle("Title");
builder.setInverseBackgroundForced(true);
builder.setMessage("Must enter minimal data.");
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
return;
}
});
AlertDialog alert = builder.create();
alert.show();
}
但是......我无法建立这条线:
AlertDialog.Builder builder = new AlertDialog.Builder(context);
Eclipse说上下文无法解析为变量。
我很担心该怎么做。有人可以帮忙吗?
答案 0 :(得分:1)
我在上面的代码中没有看到context
变量,AlertDialog.Builder
的构造函数需要传递给它Context
个实例。
但是,由于您是通过OnClickListener
onClick()
执行此操作,因此可以使用View#getContext()
获取Context
个实例。
AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());