android– 来自AlertDialog的findViewById(带自定义布局) –NullPointerException

android– 来自AlertDialog的findViewById(带自定义布局) –NullPointerException,第1张

概述我正在尝试从AlertDialog中的EditTexts中获取文本,这可以在下面看到创建.问题是,我无法检索textviews.我得到的只是一个空值.有任何想法吗?finalEditTexteditFirstname=(EditText)findViewById(R.id.editFirstname);finalEditTexteditLastname=(EditText)findV

我正在尝试从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.

总结

以上是内存溢出为你收集整理的android – 来自AlertDialog的findViewById(带自定义布局) – NullPointerException全部内容,希望文章能够帮你解决android – 来自AlertDialog的findViewById(带自定义布局) – NullPointerException所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1119115.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存