获取控件无效

在android studio2.3.3中,获取控件后,创建的变量仍然为空
以下是详细

获取控件

tv=(TextView)getActivity().findViewById(R.id.tv_test);
    tv.setText("aaaaaaaaa");


获取之后tv.setText这行报空指针错误。

Debug调试后发现tv在获取控件后仍为空值。(确认控件没有获取错误)

尝试了之前可以成功运行的其它程序,都是同样的问题。

之前删除了androidstudio的配置文件,重新生成过,在那之后就出现了这个问题

想问问有没有大神知道怎么解决
2018-04-18 10:58 添加评论 分享
已邀请:

最佳回复

2

不良人 - https://github.com/zhongzilu

赞同来自: ask rongyu

首先,你调用 getActivity(), 那上面的代码多半是写在Fragment里的,而出现获取控件为空的情况,要么是你Fragment的布局文件中没有这个id的控件,要么就是Fragment所在的Activity的布局文件中没有这个id的控件,或者就是以上代码存在的位置错了,因为很有可能你在Fragment视图创建完成之前就开始查找控件ID了

一般情况下,获取Fragment的布局中的控件,直接复写Fragment的onViewCreated()方法,然后在该方法中通过view.findViewById(R.id.tv_test)实例化控件。

要回复问题请先登录注册

退出全屏模式 全屏模式 回复