【问题标题】:Android: How to load correctly ViewStub in libraryAndroid:如何在库中正确加载 ViewStub
【发布时间】:2018-08-03 11:45:32
【问题描述】:

我创建了一个使用 ViewStub 的库并将其集成到我的项目中。当我运行应用程序时,我得到java.lang.IllegalArgumentException: ViewStub must have a valid layoutResourceAttempt to invoke virtual method 'void android.widget.ImageView.setImageResource(int)' on a null object reference 之后。

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

所以我猜想库加载 ViewStub 会使应用程序变慢。如果我错了,请纠正我。

是否有任何方法/解决方案可以从库中加载 ViewStub ?

【问题讨论】:

    标签: java android view viewstub


    【解决方案1】:

    所以我想回答我的问题,任何人将来都会面临这个问题。

    我刚刚将标签 <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);
            }
        }
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      • 2010-10-10
      相关资源
      最近更新 更多