Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RuntimeException和InflateException:二进制XML文件第7行。。然后是ClassCastException_Java_Android_Xml_Google Glass_Google Gdk - Fatal编程技术网

Java RuntimeException和InflateException:二进制XML文件第7行。。然后是ClassCastException

Java RuntimeException和InflateException:二进制XML文件第7行。。然后是ClassCastException,java,android,xml,google-glass,google-gdk,Java,Android,Xml,Google Glass,Google Gdk,关于这个问题有很多问题,但我所读到的修复方法似乎都不起作用 似乎不起作用的修复: 我的问题描述: 我正在试着在我的玻璃器皿中加入一个SliderView。SliderView可用作自定义加载屏幕 - 我目前正在使用第一个链接 在我的应用程序中,我调用SearchActivity.java,它做了一些事情。我已经对大部分代码进行了注释以查看问题,问题似乎首先出现在这里: protected void onCreate(Bundle bundle) { super.onCreate

关于这个问题有很多问题,但我所读到的修复方法似乎都不起作用

似乎不起作用的修复:

我的问题描述:

我正在试着在我的玻璃器皿中加入一个SliderView。SliderView可用作自定义加载屏幕

-

我目前正在使用第一个链接

在我的应用程序中,我调用SearchActivity.java,它做了一些事情。我已经对大部分代码进行了注释以查看问题,问题似乎首先出现在这里:

protected void onCreate(Bundle bundle) {

        super.onCreate(bundle);
        setContentView(R.layout.activity_main);
}
以下是可以在my activity_main.xml中找到的内容:位于my res/layout/:

我有两个具体的问题,那就是:

java.lang.RuntimeException:无法启动活动 ComponentInfo{com.google.android.glass.sample.apidement/com.google.android.glass.sample.apidemo.card.SearchActivity}:

android.view.InflateException:二进制XML文件第7行:错误 膨胀类 com.google.android.glass.sample.apidemo.card.slideview

LogCat错误:

这是默认的res/layout/slider xml:

更新: 解决办法如下:

在SliderView.java构造函数公共SliderViewContext参数上下文中,AttributeSet参数AttributeSet,int参数:

更改:

this.indeterminateSlider = ((ImageView) findViewById(R.id.indeterm_slider));
致:

在res/layout/中的slider.xml中:

更改:

<ImageView
        android:id="@id/indeterminate_slider" [...] />
致:

主要的问题是让你的SliderView.java指向正确的id。因为没有这样做,你得到的是一个InflateException。一旦解决了这个问题,就会出现ClassCastException。这来自slider.xml,但没有+

indeterm_slider是SliderView,您将强制转换到ImageView。您获得InflateException是因为由于此ClassCastException更新而无法创建视图: 解决办法如下:

在SliderView.java构造函数公共SliderViewContext参数上下文中,AttributeSet参数AttributeSet,int参数:

更改:

this.indeterminateSlider = ((ImageView) findViewById(R.id.indeterm_slider));
致:

在res/layout/中的slider.xml中:

更改:

<ImageView
        android:id="@id/indeterminate_slider" [...] />
致:

主要的问题是让你的SliderView.java指向正确的id。因为没有这样做,你得到的是一个InflateException。一旦解决了这个问题,就会出现ClassCastException。这来自slider.xml,但没有+


indeterm_slider是SliderView,您将强制转换到ImageView。您得到了InflateException,因为由于此ClassCastException无法创建视图

请考虑使用XE22中发布的新API。由于它被视为一个全局UI组件,因此更易于使用,并且不需要修改布局。

考虑使用XE22中发布的新API。它更易于使用,并且不需要您更改布局,因为它被视为一个全局UI组件。

您建议我怎么做?为ImageView分配一个id并查找正确的id?如果使用它,我会让您知道它是否有效。我的意思是,android:id=@id/Undeterminate\u滑块,应该是android:id=@+id/indeterminate\u slider,您应该查找indeterminate\u slider而不是indeterm\u slideryeah抱歉。我的头模糊。我整天都在做这件事。好的,它似乎是不确定的,而不是不确定的。现在我只需要处理cast异常。你建议我怎么做?给ImageView分配一个id并查找正确的id?处理它,我会让你知道它是否有效。我的意思是,android:id=@id/Undeterminate\u slider,应该是android:id=@+id/Undeterminate\u slider,你应该寻找不确定的滑动条,而不是不确定的滑动条。我的头模糊。我整天都在做这件事。好的,它似乎是不确定的,而不是不确定的。现在我只需要处理强制转换异常。清除并重新生成以修复视图ID在R和二进制XML文件之间不同步的情况。使用自定义视图而不是XML文件的原因是什么?我试图发布我的glassware,但审查团队没有提到api。他们只是给了我一条消息和一个指向github的链接来创建progressbars。我不知道这是否回答了你的问题。最终,我们希望通过GDK更容易地构建进度条。在此之前,请从我们的一位探险家处查看此示例:。清理并重新生成以修复视图ID在R和二进制XML文件之间不同步的情况。使用自定义视图而不是XML文件的原因是什么?我试图发布我的glassware,但审查小组没有提到api。他们只是给了我一条消息和一个指向github的链接来创建progressbars。我不知道这是否回答了你的问题。最终,我们希望通过GDK更容易地构建进度条。在此之前,请从我们的一位探险家处查看此示例:。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="@dimen/slider_bar_height" >

    <View
        android:id="@id/slider_control"
        android:layout_width="0.0px"
        android:layout_height="@dimen/slider_bar_height"
        android:background="@android:color/white" />

    <ImageView
        android:id="@id/indeterminate_slider"
        android:layout_width="fill_parent"
        android:layout_height="@dimen/slider_bar_height"
        android:background="@drawable/slider_indeterminate" />

</FrameLayout>
this.indeterminateSlider = ((ImageView) findViewById(R.id.indeterm_slider));
this.indeterminateSlider = ((ImageView) findViewById(R.id.indeterminate_slider));
<ImageView
        android:id="@id/indeterminate_slider" [...] />
<ImageView
    android:id="@+id/indeterminate_slider" [...] />