我有以下创建警报对话框的代码,并向其中添加了两个编辑文本,但是一旦运行应用程序,将不会检索 EditText 中的值,并且我的应用程序会因 NullPointerException 崩溃:
代码是:
AlertDialog.Builder alert = new AlertDialog.Builder(this);
LayoutInflater inflater=this.getLayoutInflater();
final EditText usernameInput=(EditText)findViewById(R.id.dialogusername);
final EditText passwordInput=(EditText)findViewById(R.id.dialogpassword);
alert.setView(inflater.inflate(R.layout.dialog,null));
alert.setTitle("Enter Password");
alert.setMessage("Enter password to remove the app:");
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//provide user with caution before uninstalling
//also here should be added a AsyncTask that going to read the password and once its checked the password is correct the app will be removed
value1=usernameInput.getText().toString();
value2=passwordInput.getText().toString();
if(value1.equals(null)&&value2.equals(null))
{Toast.makeText(context, "Enter username and password", Toast.LENGTH_SHORT).show();}
}
});
});
alert.show();
感谢大家在回答我的问题时做出的贡献,我想我得到了上面发布的问题的解决方案,即:
AlertDialog.Builder alert = new AlertDialog.Builder(MyFeedActivity.this);
LayoutInflater inflater=MyFeedActivity.this.getLayoutInflater();
//this is what I did to added the layout to the alert dialog
View layout=inflater.inflate(R.layout.dialog,null);
alert.setView(layout);
final EditText usernameInput=(EditText)layout.findViewById(R.id.dialogusername);
final EditText passwordInput=(EditText)layout.findViewById(R.id.dialogpassword);
我认为问题是我无法在警报对话框中获取 EidtText,但是通过上面的代码,每件事对我来说都工作得很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)