Не удалось найти стиль mapViewStyle в текущей теме - PullRequest
24 голосов
/ 10 сентября 2011

Я делаю приложение, которое использует карты Google. Но в моем xml я получаю ошибку "Не удалось найти стиль 'mapViewStyle' в текущей теме". Вместо этого я дал интернет-разрешение и использовал библиотеку карт Google внутри тега приложения.

Может ли кто-нибудь помочь мне в этом.

Большое спасибо

ниже мой xml файл ...

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <TextView  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/hello"
        />
  <com.google.android.maps.MapView
    android:id="@+id/mapview1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:enabled="true"
    android:clickable="true"
    android:apiKey="0ACHOtlugQlOP_-siR3LLyIBjv1SwpKWimIY8jw" />
</Relativelayout>

Ответы [ 11 ]

24 голосов
/ 25 октября 2012

Мой ответ может быть запоздалым, но я надеюсь, что он будет иметь дело с реальной причиной и уверен, что он может быть полезен для тех, кто собирается искать такую ​​же проблему в будущем.

Этотип ошибок,

1. Android Google Maps Failed to find style 'mapViewStyle' in current theme
2. Failed to find style 'imageButtonStyle' in current theme 
3. Failed to find style 'editTextStyle' in current theme 
4. Failed to find style 'textViewStyle' in current theme 

Что-либо из приведенного выше списка, это может быть

Конечная причина:

Мы выбрали недоступное Theme для layout.

Это может быть вызвано тем, что

  1. Выбранный theme недоступен в файле themes.xml.
  2. Выбранный theme являетсяпринадлежит более высокой версии sdk, но наша текущая цель sdk является более низкой.

Эта проблема чаще всего возникает,

  1. при копировании всего layoutфайл и попробуйте реализовать его в вашем project.а.Вы можете забыть скопировать файл themes.xml b.Возможно, у вас более низкий target sdk, исходный layout, созданный с более высоким target sdk.

. Решения для этой проблемы:

( Открыть и Просмотрите файл layout в Graphical Layout View и посмотрите в верхний правый угол. Там были выбраны ваши themes для layout.)

  1. Так что щелкните раскрывающийся список для выбора theme и выберите доступные themes в соответствии с вашим проектом themes и targeted sdk themes. (ИЛИ)
  2. Если theme является custom, если вам это нужно, скопируйте файл themes.xml в свой проект из источника, в который вы скопировалиlayout xml файл. (ИЛИ)
  3. Если theme равен sdk Свободен theme, если вам это необходимо, измените target в соответствии с выбранным theme.

Надеюсь, это может быть полезно для кого-то.

2 голосов
/ 11 июня 2014

Другой причиной этих ошибок может быть внутренняя ошибка затмения .

. В таком случае это решает:

  1. закрытие макета XMLfile
  2. перезапуск Eclipse (или даже ADT, как я слышал, там тоже происходит)

Обычно стоит попробовать (особенно, когда вы сталкиваетесь с этой ошибкой) неожиданно"), так как это не занимает много времени.Хотя для ОП это может быть не так, но это может помочь кому-то другому в поиске.

2 голосов
/ 07 января 2012

Не знаю почему, но если вы добавите явный стиль и определите, что в /values/styles.xml эта ошибка исчезнет.

styles.xml:

<style name="mapView">
    <item name="android:gravity">center</item>
</style>

и макет:

<com.google.android.maps.MapView
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:clickable="true"
    android:apiKey="YOUR_API_KEY"
    android:visibility="visible"
    style="@style/mapView"
/>

Похоже, com.google.android.maps.MapView действительно хочет, чтобы был объявлен какой-то стиль.

1 голос
/ 24 мая 2016

Каждая тема для Android подходит не для всех типов просмотра.Из-за этого мы должны выбрать одну из подходящих тем для нашего типа представления.

Вот как выглядит проблема
Если тема не подходит, она даст нам недостающие стилиошибка.

enter image description here

Вот решение
1. Сначала выберите панель темы.
enter image description here

2. Выберите тему для вашего просмотра

enter image description here

3. После выборазатем нажмите ОК.
Если тема подходит для вашего вида, она будет отображаться, если нет, затем выберите другую тему и попробуйте, пока не найдете подходящую тему для вашего приложения.
Когда ваша тема подходит, она будет отображаться так, какрисунок ниже.enter image description here

1 голос
/ 01 июня 2012

Вам нужно изменить только Android 2.2 на Android 3.0, а также дать ID и права пользователя и дочерний элемент приложения

0 голосов
/ 19 апреля 2016

Обновите макет XML, нажав кнопку «Обновить» в окне «Просмотр» или закройте файл XML, а затем снова откройте его, чтобы устранить мою проблему

0 голосов
/ 10 марта 2016

Хотя я уверен, что это не будет работать для всех, но для меня я просто изменил тему в окне предварительного просмотра на Theme.AppCompat.Light .

Theme Drop-down Circled in Red

Кажется, что в некоторых случаях просто установка правильной темы является решением.Какая тема из всех этих вариантов?Сначала зайдите на темы совместимости;после этого удачи!

0 голосов
/ 06 марта 2015

Убедитесь, что все ваши другие файлы styles.xml с другими значениями содержат часть вашей пользовательской темы.

У меня была похожая проблема.

В моем случае я добавил пользовательскую тему в папку values-large под res.И это работало во время выполнения, но выдавало ошибку, как твоя в затмении.

Поэтому я попытался добавить пользовательскую часть (в моем случае всего было добавлено 3 тега в файл styles.xml) во все другие файлы styles.xml.т.е. файлы styles.xml под values-normal-hdpi, values-normal-mdpi, valuse-v11 и values-v14 ...

И BOOM !!!Это решило мою проблему, которая потратила впустую весь мой день.

0 голосов
/ 06 марта 2015

Убедитесь, что вы добавили свою собственную часть темы во все другие файлы styles.xml, находящиеся в папке с другими значениями в разделе res.

У меня была похожая проблема.В моем случае я добавил пользовательскую тему в папку values-large под res.И это работало во время выполнения, но выдавало ошибку, как твоя в затмении.Поэтому я попытался добавить пользовательскую часть (в моем случае было добавлено 3 тега в файл styles.xml) во всех других файлах styles.xml.т.е. файлы styles.xml под values-normal-hdpi, values-normal-mdpi, valuse-v11 и values-v14 ... И БУМ !!!Это решило мою проблему, которая потратила впустую весь мой день.

0 голосов
/ 20 июня 2013

Эта ошибка возникает из-за того, что некоторые значки или свойства отсутствуют для mapViewStyle. Если вы когда-либо применяли какую-либо пользовательскую тему на устройстве Android, возможно, вы столкнулись с ошибкой, такой как «отсутствующие ресурсы» или «тема неправильно скомпилирована» и т. Д. Эта ошибка возникает из-за отсутствия значков или макет для каждого внешнего вида телефона, например кнопки, меню, строки состояния и т. д.

Похожий случай с mapViewStyle. Во время создания проекта вы могли выбрать тему по умолчанию для вашего приложения. В этой теме отсутствуют некоторые компоненты для mapViewStyle, такие как значок кнопки или стиль ( Просто давая представление, я не знаю, правда это или нет ). Я думаю, вы, возможно, поняли суть.

Теперь для устранения ошибки перейдите в res>values>styles.xml

удалить предыдущую строку темы и поставить эту

<style name="AppBaseTheme" parent="android:Theme.Light">

Приведенный выше пример только для того, чтобы вы поняли и дали вам общее представление о проблеме. Я не утверждаю, что это на 100% верно.

если этот ответ полезен, пометьте его как полезный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...