当前位置: 首页 > 知识库问答 >
问题:

用于手机和平板电脑的不同布局的奶油刀

暴阳州
2023-03-14

我在当前项目中使用Butternife库时遇到了一点问题。我目前正在为手机和平板电脑优化项目,有时两者的布局文件之间会有细微的差异,例如

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Text1/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TextView
        android:id="@+id/text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Text1/>

     <TextView
        android:id="@+id/text2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Text2/>
</LinearLayout>

该类如下所示:

    @Bind(R.id.text1) TextView text1;    
    @Bind(R.id.text2) TextView text2; 

    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.layout_example, container, false)
        ButterKnife.bind(this, rootView);
        return rootView;
    }

问题是,当在电话上查看时,这会引发一个丢失视图的异常,因为“text2”视图不存在。这周围有什么吗?或者,对于并非所有布局都可用的视图,我必须使用findViewById。谢了!

共有1个答案

楚宇
2023-03-14

在可能为null的视图的@bind之前添加注释@nullable。

Butternife网站上的例子:

@Nullable @Bind(R.id.might_not_be_there) TextView mightNotBeThere;
 类似资料:
  • 我想制作一个单独的模块,以便在项目之间共享它。该模块将具有android组件。因此,在创建新模块时,选项是电话

  • 我正在尝试设计一个应用程序,它复制标准应用程序快捷方式主屏幕图标的快捷方式样式,但作为一个小部件。注意,这只是目前标准的Android主屏幕。 1×1方块中给出的空间根据屏幕密度、方向以及手机主屏幕是否处于“手机模式”或“平板模式”而变化(启动4. x模拟器,您可以通过背景等来判断)。屏幕密度会影响预期的大小(0.75, 1, 1.5, 2.0密度因子缩放),但是方向和“主屏幕模式”是相当不可预测

  • 平板电脑上的折叠工具栏布局在滚动包含少量视图的嵌套滚动视图时出现问题 问题是,即使在滚动停止后,工具栏也会折叠。 您可以复制问题源代码:https://github.com/chrisbanes/cheesesquare 有没有办法防止这种情况发生?

  • 问题内容: 因此,我正在为Android开发一个应用程序,我想对平板电脑强制使用“横向”方向,对于手机强制使用“纵向”方向。但是,似乎我只能根据我所看到的进行方向锁定,这违背了为设备设置两个独立方向的目的。 平板电脑:风景手机:肖像 更具体地说。 我在“ res / layout-xlarge-land”中有一个用于在平板电脑上进行美化的布局,而我在“ res / layout”中有原始布局,我只

  • 有没有一种有效的方法可以有效地将手机与平板电脑分离,将手机重定向到移动版网站,而不是平板电脑? 我的想法 : htaccess重定向 :虽然我可以找到一种方法来重定向所有移动设备,但我还没有设法进一步将手机与平板电脑分开。 用户代理JS过滤器:同样的问题。 用户代理窗口。width:在某种程度上可行,但我显然不能测试所有设备,我不想把横向平板电脑视为手机,反之亦然。。。 对于这种情况,是否有最佳做

  • 本文向大家介绍JS制作适用于手机和电脑的通知信息效果,包括了JS制作适用于手机和电脑的通知信息效果的使用技巧和注意事项,需要的朋友参考一下 今天项目基本都提测完了,所有利用空闲时间,写两篇文章。上一篇《如何搭建node工程》想必大家有需要学习的都已经看过了。这篇文章最后展示出来的效果确实很棒,所以在这里,想记录下来,以后自己也可以看看。 还是和以前一样的套路,咱们一步一步讲,这样看的思路很明了。