22

很抱歉再发布一个,但似乎我们还没有记录这个问题的每一个解决方案。

事情是这样的:我添加了一个地图视图,一切正常。我添加了一个滑动抽屉并将按钮移动到其中,然后将根节点从线性更改为相对。从那时起,我的 main.xml 类的图形布局中出现错误,内容为

缺少样式。是否为此布局选择了正确的主题?使用布局上方的主题组合框选择不同的布局,或修复主题样式引用。在当前主题中找不到样式“mapViewStyle”。

将根节点切换为线性并返回到相对已显示地图,但错误仍在图形布局中。

到目前为止,我已经完成了以下解决方案,这可以解决大多数情况下的问题:

  1. 添加了 style.xml 以创建“mapView”样式。
  2. 验证我的构建目标是 API 2.3.3 (10)
  3. 确定<uses-library android:name="com.google.android.maps"/>是Application的子节点。
  4. 清理/重建我的应用程序。
  5. 删除了R。
  6. 删除并重建 main.xml
  7. 重新启动 adb 服务器、Eclipse、我的电脑和我的设备。
  8. 在图形布局中在 Android 3.0 和 Android 2.3.3 之间切换。

但是,我的问题仍然存在。这是我的布局 xml。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >


<com.google.android.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapview"
    style="@style/mapView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:apiKey="asdf" //not my real key
    android:clickable="true" />

<!-- TODO: update the API key with release signature -->
<SlidingDrawer
    android:id="@+id/slidingDrawer1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:content="@+id/content"
    android:handle="@+id/handle" >

    <Button
        android:id="@+id/handle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Menu" />


    <LinearLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <Button
            android:id="@+id/about"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/about" />

        <Button
            android:id="@+id/record"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/record" />

        <Button
            android:id="@+id/start"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/start" />

    </LinearLayout>

</SlidingDrawer>
</RelativeLayout>

这是我的清单 xml。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edu.myschoolhere"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <uses-library android:name="com.google.android.maps"/>
    <activity
        android:name=".GeoTagActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

如果有人有解决方案,请告诉我。如果我弄明白了,我会尽力回帖。

4

5 回答 5

10

我的回答可能比较晚,但我希望它能解决实际原因,并确保它对那些将来要搜索相同问题的人有所帮助。

这种类型的错误,

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 

上面列表中的任何内容都可能是,

最终的原因是,

我们选择了不可用Themelayout

这可能是因为,

  1. 所选内容在文件theme中不可用。themes.xml
  2. 选择theme的是属于较高版本sdk,但我们当前的目标sdk是较低的版本。

这个问题多半会出现

  1. 当您复制整个layout文件并尝试在project. 一个。您可能忘记复制themes.xml文件 b。你可能有更低target sdk的,原来layout用更高的target sdk

这个问题的解决方案是,

(在中打开查看layout文件Graphical Layout View,然后查看右上角。您的themesforlayout已被选中。)

  1. 因此,单击下拉列表进行theme选择,然后themes根据您的项目选择可用的themestargeted sdk themes. (或者)
  2. 如果themecustom一个,如果您需要它,则将themes.xml文件从复制文件的源复制到您的项目layout xml(或者)
  3. 如果theme可用,sdk如果theme您需要它,请target根据您的选择进行更改theme

希望,这可能对某人有所帮助。

于 2012-10-25T13:20:01.720 回答
4

该解决方案适用于 Android Studio,也许它也会为 Eclipse 用户提供一个想法。
每个 android 主题都不适合每个视图。因此,我们应该为我们的视图类型选择合适的主题之一。

这是问题的外观
如果主题不合适,它将给我们缺少样式错误。

在此处输入图像描述

这里是解决方案
1.首先选择主题栏。
在此处输入图像描述

2.为您的视图选择主题

在此处输入图像描述

3.选择主题后,然后按确定。
如果主题适合您的视图,它将呈现,否则选择另一个主题并尝试直到找到适合您的应用程序的主题。
只要您的主题合适,它就会呈现如下图所示。 在此处输入图像描述

于 2016-05-24T06:22:55.917 回答
0

我面临着类似的问题。

我不知道问题是什么,在谷歌上搜索答案后,我没有找到任何帮助。

所以我所做的是删除了活动并猜猜是什么??,它起作用了。

同样,我不确定这是如何解决的,但最终对我来说确实如此。

希望这可以帮助。

于 2013-08-22T13:50:10.890 回答
0

when you create android application,you choose minimum required sdk API14.And then,you will create project successfully.This is my solution.

于 2015-05-14T01:58:17.623 回答
0

点击刷新按钮在此处输入图像描述

否则尝试使缓存无效并重新启动

于 2017-02-26T16:15:25.533 回答