0

在這裏工作是在即時運行不工作的情況下:即時運行不與佈局21

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
    toolbar.setElevation(visible ? getResources().getDimension(R.dimen.elevation_toolbar) : 0); 
} else { 
    View toolbarShadow = findViewById(R.id.toolbar_shadow); 
    toolbarShadow.setVisibility(visible ? View.VISIBLE : View.GONE); 
} 

視圖中layoutR.id.toolbar_shadow。都好。

但是,如果您在layout-21中查看不包含R.id.toolbar_shadow的視圖,那麼當您將應用編譯爲例如Api 23設備gradle將失敗:

Error:(1046, 42) error: cannot find symbol variable toolbar_shadow 

任何想法來解決這個問題?


更新:按要求佈局:

res/layout/actionbar.xml

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    ... > 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     ... /> 

    <View 
     android:id="@+id/toolbar_shadow" 
     ... /> 

</LinearLayout> 

res/layout-21/actionbar.xml

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar" 
      ... /> 
+0

你可以顯示佈局文件嗎?至少有關部分。 – CaptJak

+0

@CaptJak更新 – Diolor

+0

它雖然建立正確?不使用即時運行? – CaptJak

回答

0

好找到解決方案手動添加缺少的ID在資源的開發:

<!--To make Instant Run work if these ids are not in 21+--> 
<item name="toolbar_shadow" type="id"/> 
+0

雖然這很奇怪,可能提交錯誤報告? – CaptJak