关于android DrawerLayout的setTextView 的一些坑

来源:互联网 发布:淘宝号可以注销吗 编辑:程序博客网 时间:2024/05/18 02:35

                                                                     我的第一篇博客,哈哈,可以称作错题集

      一直想写博客记录我的编程路上的一堆错误----记录菜鸟的长大日记,今天开始。

   1,先说TextView.setText 的注意事项,不能传入 int 类型。要用 String.valueof(int i) 将 int 转String 后才能显示出来,不然会崩溃。

   2,坑人的DrawerLayout 里的 nav_header :

    这里面的View 我一开是理所当然的使用了 (TextView)findViewById(R.id.xxxx)来调用。。。。结果返回空指针。。找了一下午的错误。。。。后来发现调用方法如下:

private TextView text_id;private TextView text_name;private NavigationView nav_view;

  


nav_view=(NavigationView)findViewById(R.id.nav_view);View headerView=nav_view.getHeaderView(0);text_id=(TextView)headerView.findViewById(R.id.user_id);text_name=(TextView)headerView.findViewById(R.id.user_name);text_id.setText("UserID:"+UserAccount.id);text_name.setText("UserName:"+UserAccount.name);

这样就没有问题啦,网上的大佬是这样解释原因的:

        只能说你activity里面加载的布局文件 确定是你下面列的那个xml? findviewbyid查的是全局资源id 如果当前示例页面没有找到这个textview的实例对象就会返回空,然后你下面的settext就会报空指针,如果你没做try 就会抛异常到系统 然后系统默认就把你的程序崩溃退出,可能是你在这个activity里面加载的布局文件里面没有这个textview,下面列出的 xml你也没写文件名。
来自百度贴吧 安卓贴吧的 @dragonandlion, 谢谢啦,哈哈。

程序猿小学生希望 各位大佬多多指教!

  


原创粉丝点击