android.view.InflateException:二进制XML文件中的行#30:错误充气类<未知> [英] android.view.InflateException: Binary XML file line #30: Error inflating class <unknown>

查看:233
本文介绍了android.view.InflateException:二进制XML文件中的行#30:错误充气类<未知>的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我运行它打开了一个地图,上面有一个标记一个应用程序。

I am running a application which opens up with a map, with a marker on it.

在单击该标记我想在它的一些领域打开一个对话框。这是我的code的标志点击,

On clicking on the marker I am trying to open a dialog with some fields in it. This is my code for marker click,

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版本。   这是我的logcat,

I am getting this error when I click on marker. I am running this app in android 4.0.4 version. This is my logcat,

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,

This is my 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>

这是我的清单文件,

<?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。

I am using a mapfragment here.

 <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" />

在我伸出FragmentActivity的主要活动。这是引起异常?请澄清我。  请帮我,为什么我收到此错误。

In the main activity I am extending FragmentActivity. Is this causing an exception? Please clarify me. Please help me out why I am getting this error.

任何帮助是AP preciated。谢谢!

Any help is appreciated. Thanks!!

推荐答案

而不是调用的

     View view = getLayoutInflater().inflate(R.layout.dialogview, null);
     view.setBackgroundColor(Color.LTGRAY);
     dialog.setContentView(view);

删除上面的线条和尝试添加到您code

remove above lines and try adding this to your code

  dialog.setContentView(R.layout.dialogview);

  public boolean onMarkerClick(Marker arg0) {

  Log.d("", "here");
  dialog.setContentView(R.layout.dialogview);
  edtDate = (TextView) findViewById(R.id.edtDate);

  edtTime = (TextView) 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.show();
     }

这篇关于android.view.InflateException:二进制XML文件中的行#30:错误充气类&lt;未知&GT;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆