为了账号安全,请及时绑定邮箱和手机立即绑定

findviewbyid在对话框中返回null

findviewbyid在对话框中返回null

子衿沉夜 2019-10-12 09:59:39
我有一个自定义对话框,当我尝试获取EditText的值时,它返回null。该行返回nullEditText et = (EditText)findViewById(R.id.username_edit);这是完整的代码。protected Dialog onCreateDialog(int id) {    switch (id) {    case DIALOG_TEXT_ENTRY:        LayoutInflater factory = LayoutInflater.from(this);        final View textEntryView = factory.inflate(R.layout.alert_dialog_text_entry, null);        return new AlertDialog.Builder(TicTacToe.this)            //.setIconAttribute(android.R.attr.alertDialogIcon)            .setTitle(getTitleText())            .setView(textEntryView)            .setPositiveButton("JOIN GAME", new DialogInterface.OnClickListener() {                public void onClick(DialogInterface dialog, int whichButton) {                    try                    {                        EditText et = (EditText)findViewById(R.id.username_edit);                            playerName = et.getText().toString();                    }                    catch (Exception e)                    {                    }                }            })            .create();    }    return null;}
查看完整描述

3 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

尝试这个:


EditText et = (EditText)textEntryView.findViewById(R.id.username_edit);

您必须告诉在哪个视图中找到ID。否则,它将尝试通过xml布局setContentView(通常在中声明onCreate)夸大视图中的ID。


查看完整回答
反对 回复 2019-10-12
  • 3 回答
  • 0 关注
  • 858 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信