安卓.view.InflateException : Binary XML file line #30: Error inflating class <unknown>

标签 android google-maps exception google-maps-markers

我正在运行一个应用程序,它打开了一张 map ,上面有一个标记。

单击标记时,我试图打开一个对话框,其中包含一些字段。这是我的标记点击代码,

public boolean onMarkerClick(Marker arg0) {

    Log.d("", "here");
    View view = getLayoutInflater().inflate(R.layout.dialogview, null);
    view.setBackgroundColor(Color.LTGRAY);
    edtDate = (TextView) view.findViewById(R.id.edtDate);

    edtTime = (TextView) view.findViewById(R.id.edtTime);

    Dialog dialog = new Dialog(this,
            android.R.style.TextAppearance_Holo_WindowTitle);
    dialog.setTitle("Enter Details");
    LayoutParams lp = dialog.getWindow().getAttributes();
    lp.width = WindowManager.LayoutParams.MATCH_PARENT;
    lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
    lp.gravity = Gravity.TOP | Gravity.LEFT;
    lp.dimAmount = 0;
    lp.flags = LayoutParams.FLAG_LAYOUT_NO_LIMITS
            | LayoutParams.FLAG_NOT_TOUCH_MODAL;

    Spinner ddlspinnerdata = (Spinner) view.findViewById(R.id.ddl);
    ddldata = ddlspinnerdata.getSelectedItem().toString();
    EditText edtname = (EditText) view.findViewById(R.id.personname);
    name = edtname.getText().toString();
    EditText edtLength = (EditText) view.findViewById(R.id.edtlength);
    length = edtLength.getText().toString();
    EditText edtWidth = (EditText) view.findViewById(R.id.edtwidth);
    width = edtWidth.getText().toString();
    EditText edtHeight = (EditText) view.findViewById(R.id.edtheight);
    height = edtHeight.getText().toString();
    date = edtDate.getText().toString();
    time = edtTime.getText().toString();

    dialog.setContentView(view);
    dialog.show();
         }

单击标记时出现此错误。我在 android 4.0.4 版本中运行这个应用程序。 这是我的日志,

09-19 10:51:19.302: E/AndroidRuntime(16414): FATAL EXCEPTION: main
09-19 10:51:19.302: E/AndroidRuntime(16414): android.view.InflateException: Binary XML file line #30: Error inflating class <unknown>
09-19 10:51:19.302: E/AndroidRuntime(16414):    at    android.view.LayoutInflater.createView(LayoutInflater.java:608)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:682)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:741)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:744)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.view.LayoutInflater.inflate(LayoutInflater.java:491)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2725)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:2785)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:269)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:263)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.app.Dialog.setContentView(Dialog.java:480)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at com.example.gm.MainActivity.onMarkerClick(MainActivity.java:157)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at com.google.android.gms.maps.GoogleMap$7.a(Unknown Source)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at com.google.android.gms.internal.da$a.onTransact(Unknown Source)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.os.Binder.transact(Binder.java:297)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at bmb.a(SourceFile:84)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at maps.ag.bn.a(Unknown Source)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at maps.ap.d.a(Unknown Source)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at maps.ap.p.c(Unknown Source)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at maps.ap.o.a(Unknown Source)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at maps.ap.bo.b(Unknown Source)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at maps.ap.bk.onSingleTapConfirmed(Unknown Source)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at maps.bt.g.onSingleTapConfirmed(Unknown Source)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at maps.bt.i.handleMessage(Unknown Source)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.os.Handler.dispatchMessage(Handler.java:99)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.os.Looper.loop(Looper.java:154)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.app.ActivityThread.main(ActivityThread.java:4624)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at java.lang.reflect.Method.invokeNative(Native Method)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at java.lang.reflect.Method.invoke(Method.java:511)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at dalvik.system.NativeStart.main(Native Method)
09-19 10:51:19.302: E/AndroidRuntime(16414): Caused by: java.lang.reflect.InvocationTargetException
09-19 10:51:19.302: E/AndroidRuntime(16414):    at java.lang.reflect.Constructor.constructNative(Native Method)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.view.LayoutInflater.createView(LayoutInflater.java:588)
09-19 10:51:19.302: E/AndroidRuntime(16414):    ... 32 more
09-19 10:51:19.302: E/AndroidRuntime(16414): Caused by: android.view.InflateException: Binary XML file line #36: Error inflating class <unknown>
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.view.LayoutInflater.createView(LayoutInflater.java:608)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:57)
09-19 10:51:19.302: E/AndroidRuntime(16414):    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:655)

这是我的dialogview.xml,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lldialog"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="30dp" >

<Spinner
    android:id="@+id/ddl"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="14dp"
    android:entries="@array/items"
    android:prompt="@string/ChooseOption"
    android:scrollbarStyle="outsideOverlay"
    android:scrollbars="horizontal|vertical" />

<EditText
    android:id="@+id/personname"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Full Name"
    android:ems="10"
    android:inputType="textPersonName" >

    <requestFocus android:layout_width="wrap_content" />
</EditText>

<EditText
    android:id="@+id/edtlength"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
   android:hint="Length"
    android:ems="10"
    android:inputType="numberSigned" />

<EditText
    android:id="@+id/edtwidth"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"            
    android:ems="10"
    android:hint="Width"
    android:inputType="numberSigned" />

<EditText
    android:id="@+id/edtheight"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"       
    android:ems="10"
    android:hint="Height"
    android:inputType="numberSigned" />

<TextView
    android:id="@+id/edtDate"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:ems="10"
    android:gravity="center|fill"
    android:hint="Pick Date"
    android:inputType="date"
    android:paddingLeft="10dp"
    android:textSize="20sp" />

<TextView
    android:id="@+id/edtTime"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:ems="10"
    android:gravity="center|fill"
    android:hint="Pick Time"
    android:inputType="time"
    android:paddingLeft="10dp"
    android:textSize="20sp" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/btnsave"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:text="Save"
        android:textSize="20sp" />

    <Button
        android:id="@+id/btncancel"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:text="Cancel"
        android:textSize="20sp" />

  </LinearLayout>

</LinearLayout>

这是我的 list 文件,

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

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.example.gm.permission.MAPS_RECEIVE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/>
  <uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />


<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.gm.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

     <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="MY_API_KEY" />

  <uses-library android:name="com.google.android.maps" />
 </application>

</manifest>

我在这里使用了一个 mapfragment。

 <fragment
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true"
    android:clickable="true" />

在主要 Activity 中,我扩展了 FragmentActivity。这会导致异常吗?请澄清我。 请帮我弄清楚为什么会出现此错误。

感谢任何帮助。谢谢!!

最佳答案

为什么你要为请求焦点设置包装内容我认为这会给你异常(exception)

<requestFocus android:layout_width="wrap_content" />  

只需添加 <requestFocus/> 如果不尝试删除此行并检查某些样式是否给您 inflater 异常..

style="?android:attr/buttonStyleSmall"

关于安卓.view.InflateException : Binary XML file line #30: Error inflating class <unknown>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18886823/

相关文章:

android - Android 中的动画和多线程

android - Android Studio错误:此文件夹不属于gradle项目(Jsoup.jar)

android - Android 中 AlarmManager 的问题

javascript - 谷歌地图 - 如何在数据库中保存位置?

swift - 以编程方式更改 Google map 大小 (Swift)

javascript - 如何使谷歌地图API中的特定区域仅可见?

c# - 将 SqlDecimal 转换为 Decimal 时出现 OverflowException

java - Java RuntimeException enableSuppression 参数有什么作用?

.net - 破译.NET clr20r3异常参数P1..P10

java - android数据绑定(bind)错误: cannot find symbol