RelativeLayout не может быть приведен к android.support.v7.widget.Toolbar
12237 просмотра
4 ответа
Я хочу добавить тень на панель инструментов и использую следующую ссылку: Панель инструментов тень
но запущенное приложение покажет мне эту ошибку в LogCat:
java.lang.ClassCastException: android.widget.RelativeLayout cannot be cast to android.support.v7.widget.Toolbar
Код панели инструментов:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="200dp">
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="200dp"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"
app:theme="@style/MyCustomToolbarTheme"
android:background="@drawable/main_header">
</android.support.v7.widget.Toolbar>
MainActivity XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<include
android:id="@+id/app_bar"
layout="@layout/app_bar_main"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/app_bar"
android:text="ytkbhjk"/>
MainActivity Java:
public class MainActivity extends ActionBarActivity {
private Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.app_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
Помогите мне, пожалуйста
Автор: Mohammad Источник Размещён: 12.11.2019 09:43Ответы (4)
4 плюса
Вам нужно будет сделать еще один XML-файл, содержащий вашу панель инструментов: Имя этого XML-файла - панель инструментов.
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"/>
Теперь измените тег include вашего относительного макета следующим образом
<include
layout="@layout/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
И в своей деятельности сделайте что-то вроде этого:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
Автор: Vikalp
Размещён: 10.04.2015 02:55
2 плюса
Там, где вы используете <include />
XML в MainActivity, вы не должны помещать android:id="@+id/app_bar"
, а вместо этого в тег <android.support.v7.widget.Toolbar />
.
1 плюс
Я удалил relativeLayout
вместо этого просто использовать android.support.v7.widget.Toolbar
. И тс работает.
0 плюса
Попробуйте загрузить android_m2repository_r29.zip
репозиторий с https://developer.xamarin.com/guides/android/trou устранение неисправностей/ resolving-library- installation- errors/ с инструкциями, приведенными в том же.
Вопросы из категории :
- java В чем разница между int и Integer в Java и C #?
- java Как я могу определить IP моего маршрутизатора / шлюза в Java?
- java Каков наилучший способ проверки XML-файла по сравнению с XSD-файлом?
- java Как округлить результат целочисленного деления?
- java Преобразование списка <Integer> в список <String>
- java Почему я не могу объявить статические методы в интерфейсе?
- android Насколько хорошо отражает эмулятор Android Phone?
- android Как сохранить состояние активности Android с помощью сохранения состояния экземпляра?
- android Android: доступ к дочерним представлениям из ListView
- android Как вызвать SOAP веб-сервис на Android
- android Как вы форматируете дату и время в Android?
- android Android: Получение имени файла с камеры?
- layout BoxLayout не может быть общей ошибкой
- layout Усечение длинных строк с помощью CSS: возможно?
- layout Получить размеры экрана в пикселях
- layout Андроид LinearLayout
- layout Как получить размер глифа шрифта?
- layout Ruby on Rails layouts ... кроме и только ошибка