0

Вот случай, мгновенный запуск в AS не работает:Мгновенный запуск не работает с макетом-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); 
} 

Вид в layout имеет R.id.toolbar_shadow. Все хорошо.

Однако, если у вас есть вид в layout-21, который не содержит R.id.toolbar_shadow, то при компиляции приложения, например, Api 23 устройство Gradle будет завершаться:

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

Любые идеи для решения этой проблемы?


Update: по запросу макеты:

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

Правильно ли он строит? Не использовать Instant Run? – CaptJak

ответ

0

Ok найдено решение добавить вручную отсутствующий идентификатор в-ресурсов :

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

Странно, возможно, файл с сообщением об ошибке? – CaptJak

 Смежные вопросы

  • Нет связанных вопросов^_^