java - Android:如何在库中正确加载 ViewStub

标签 java android view viewstub

我创建了一个使用 ViewStub 的库并将其集成到我的项目中。当我运行应用程序时,我得到 java.lang.IllegalArgumentException: ViewStub must have a valid layoutResource 并且在 Attempt to invoke virtual method 'void android.widget.ImageView.setImageResource(int)' 之后在空对象引用上

我创建了另一个没有该库但完全相同的 viewstub 的项目并且它工作了。

所以我猜库加载 ViewStub 的速度比应用程序慢。如果我错了,请纠正我。

有什么方法/解决方案可以从库中加载 ViewStub 吗?

最佳答案

所以我想回答我的问题给任何一个将来会遇到这个问题的人。

我刚刚替换了标签 <ViewStub>通过 <include>并像这样向其中添加布局

<include
    android:id="@+id/include_action_bar"
    android:layout_width="fill_parent"
    android:layout_height="59dp"
    layout="@layout/actionbar_layout_sml" />

然后我根据我的需要设置可见性(例如 actionBar):

public void setActionBarVisibility(boolean visible) {
    View view = findViewById(R.id.include_action_bar);
    if (view != null) {
        if (visible) {
            view.setVisibility(View.VISIBLE);
        }
        else {
            view.setVisibility(View.GONE);
        }
    }
}

希望这对某个地方的某个人有所帮助。

关于java - Android:如何在库中正确加载 ViewStub,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51671920/

相关文章:

java - 如何使用java中的quartz api将给定时间转换为cron表达式?

android - 带有 AWS SNS 的 FCM

android - 跨浏览器垂直居中的终极解决方案?

css - 在渲染 Ember View 时添加、删除 css 类

Java将for循环转换为lambda表达式

java - Hibernate 4.1 使用现有的 jdbc 连接

android - 如何从标记列表中提取标记信息

android - 从不起作用的位图中创建或剪切 6 个相等的部分

android - 在 Android 应用程序中按下按钮会产生转换错误

java - 随机整数函数