我正在尝试从AlertDialog中的EditTexts中获取文本,这可以在下面看到创建.问题是,我无法检索textviews.我得到的只是一个空值.有任何想法吗?
final EditText editFirstname = (EditText) findViewById(R.id.editFirstname); final EditText editLastname = (EditText) findViewById(R.id.editLastname); bttAddplayer.setonClickListener(new View.OnClickListener() { @Override public void onClick(View view) { AlertDialog.Builder builder = new AlertDialog.Builder(context); LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); builder.setView(layoutInflater.inflate(R.layout.dialog_add_player,null)) .setPositiveButton(R.string.ok,new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog,int id) { databaseHelper.addplayer(editFirstname.getText().toString(),editLastname.getText().toString()); playerAdapter.notifyDataSetChanged(); } }) .setNegativeButton(R.string.cancel,new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { dialog.cancel(); } }); AlertDialog alertDialog = builder.create(); alertDialog.show(); } }); }
}
解决方法
您需要在视图中搜索您为“警报”对话框充气,例如您膨胀的视图如下所示:
View view = inflater.inflate(R.layout.dialog_add_player,container);
那你需要做
EditText editFirstName = (EditText) view.findViewById(R.id.editFirstName); EditText editLastName = (EditText) view.findViewById(R.id.editLastName);
现在看起来你正试图为不存在的东西实例化一个变量,你没有参考EditText实际所在的位置,它试图查看当前视图的内部,它不包含EditText.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。