jjzjj

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

coder 2023-11-30 原文

我已经研究这个问题几个小时了,但类似的错误并没有解决问题。

我正在为不同 Activity 中的多个 ListView 重复使用此 XML 文件(我假设这与它有关)但我不明白为什么它会中断。 XML 文件表示 ListView 中的各个项目。

这是 XML:

<?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="wrap_content"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:paddingTop="5dp" >

    <LinearLayout
        android:id="@+id/post"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="?attr/postBackground"
        android:orientation="horizontal" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical" >

            <LinearLayout
                android:id="@+id/postTop"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:padding="8dp" >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:orientation="vertical" >

                    <!-- Title -->

                    <TextView
                        android:id="@+id/title"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:fontFamily="sans-serif-light"
                        android:textColor="?attr/postTitle"
                        android:textSize="16sp"
                        android:textStyle="bold" />

                    <!-- subreddit + domain -->

                    <TextView
                        android:id="@+id/subredditDomainVotes"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:fontFamily="sans-serif"
                        android:gravity="left"
                        android:textColor="#828282"
                        android:textSize="13sp" />

                    <TextView
                        android:id="@+id/date"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:fontFamily="sans-serif"
                        android:gravity="left"
                        android:textColor="#828282"
                        android:textSize="13sp" />
                </LinearLayout>

            </LinearLayout>

            <ImageView
                android:id="@+id/imagePreview"
                android:layout_width="fill_parent"
                android:layout_height="200dp"
                android:adjustViewBounds="false"
                android:background="?attr/postPreviewBground"
                android:contentDescription="@string/empty"
                android:scaleType="centerCrop" />

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="?attr/postBottom"
                android:padding="8dp" >

                <!-- Author -->

                <TextView
                    android:id="@+id/author"
                    style="?attr/postButton"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:textSize="12sp" />

                <!-- Comments -->

                <TextView
                    android:id="@+id/comments"
                    style="?attr/postButton"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:textSize="12sp" />
            </RelativeLayout>
        </LinearLayout>
    </LinearLayout>

</FrameLayout>

这是 Java(错误发生在 convertView = (FrameLayout) FrameLayout.inflate(mContext, R.layout.column_post, null);):

@Override
public View getView(int position, View convertView, ViewGroup parent) {

JSONObject thePost = null;
String kind = null;
try {
    thePost = mPosts.getJSONObject(position);
    kind = thePost.getString("kind");
} catch (Exception e) {
    System.out.println("errreoroer");
}

if (null == convertView) {

    LayoutInflater inflater = (LayoutInflater) mContext
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    convertView = new FrameLayout(mContext);

    if (Switches.getInMailView()) {

        convertView = (RelativeLayout) inflater.inflate(
                R.layout.mail_post, parent, false);

        mailHolder = new MailHolder();
        mailHolder.authorView = (TextView) convertView
                .findViewById(R.id.author);
        mailHolder.dateView = (TextView) convertView
                .findViewById(R.id.date);
        mailHolder.subjectView = (TextView) convertView
                .findViewById(R.id.subject);

    } else {

        if (kind.equals("t3")) {
                  //ERROR HAPPENS RIGHT HERE
            convertView = (FrameLayout) FrameLayout.inflate(mContext, R.layout.column_post, null);

            holder = new PostHolder();
            // grab the post view objects
            holder.postTitleView = (TextView) convertView
                    .findViewById(R.id.title);
            holder.dateView = (TextView) convertView
                    .findViewById(R.id.date);
            holder.authorView = (TextView) convertView
                    .findViewById(R.id.author);
            holder.commentsView = (TextView) convertView
                    .findViewById(R.id.comments);
            holder.subredditDomainVotesView = (TextView) convertView
                    .findViewById(R.id.subredditDomainVotes);
            holder.imagePreviewView = (ImageView) convertView
                    .findViewById(R.id.imagePreview);
            holder.postTopView = (LinearLayout) convertView
                    .findViewById(R.id.postTop);

            convertView.setTag(holder);

        }

    }

} else {

    if (Switches.getInMailView())
        mailHolder = (MailHolder) convertView.getTag();
    else {

        if (kind.equals("t3"))
            holder = (PostHolder) convertView.getTag();

    }

}

try {

    if (Switches.getInMailView())
        return buildMailPostItem((RelativeLayout) convertView,
                thePost.getJSONObject("data"), kind);
    else {
        if (kind.equals("t3"))
            return buildGenericPostItem((FrameLayout) convertView,
                    thePost.getJSONObject("data"), kind, position);
    }

} catch (JSONException e) {

    return null;
}

return convertView;

}

堆栈跟踪

11-26 18:23:09.492: E/AndroidRuntime(4616): FATAL EXCEPTION: main
11-26 18:23:09.492: E/AndroidRuntime(4616): Process: com.reditr.app, PID: 4616
11-26 18:23:09.492: E/AndroidRuntime(4616): android.view.InflateException: Binary XML file line #9: Error inflating class <unknown>
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.LayoutInflater.createView(LayoutInflater.java:620)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at com.reditr.adapters.PostAdapter.getView(PostAdapter.java:145)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:220)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.AbsListView.obtainView(AbsListView.java:2263)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.ListView.makeAndAddView(ListView.java:1790)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.ListView.fillDown(ListView.java:691)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.ListView.fillFromTop(ListView.java:752)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.ListView.layoutChildren(ListView.java:1630)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.AbsListView.onLayout(AbsListView.java:2091)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.View.layout(View.java:14785)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewGroup.layout(ViewGroup.java:4631)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.View.layout(View.java:14785)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewGroup.layout(ViewGroup.java:4631)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.View.layout(View.java:14785)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewGroup.layout(ViewGroup.java:4631)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1434)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.View.layout(View.java:14785)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewGroup.layout(ViewGroup.java:4631)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1585)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.View.layout(View.java:14785)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewGroup.layout(ViewGroup.java:4631)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1660)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1436)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.View.layout(View.java:14785)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewGroup.layout(ViewGroup.java:4631)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.View.layout(View.java:14785)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewGroup.layout(ViewGroup.java:4631)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at com.android.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:374)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.View.layout(View.java:14785)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewGroup.layout(ViewGroup.java:4631)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.View.layout(View.java:14785)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewGroup.layout(ViewGroup.java:4631)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1985)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1742)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:998)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5582)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.Choreographer.doCallbacks(Choreographer.java:562)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.Choreographer.doFrame(Choreographer.java:532)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.os.Handler.handleCallback(Handler.java:733)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.os.Handler.dispatchMessage(Handler.java:95)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.os.Looper.loop(Looper.java:137)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at android.app.ActivityThread.main(ActivityThread.java:4998)
11-26 18:23:09.492: E/AndroidRuntime(4616):     at java.lang.refl

提前致谢。

最佳答案

感谢@kiruwka,问题已解决!

问题是我需要确保我在所有 Activity 中使用相同的主题。

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

有关java - 安卓.view.InflateException : Binary XML file line #9: Error inflating class <unknown>的更多相关文章

  1. ruby-on-rails - Rails - 一个 View 中的多个模型 - 2

    我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何

  2. ruby-on-rails - 渲染另一个 Controller 的 View - 2

    我想要做的是有2个不同的Controller,client和test_client。客户端Controller已经构建,我想创建一个test_clientController,我可以使用它来玩弄客户端的UI并根据需要进行调整。我主要是想绕过我在客户端中内置的验证及其对加载数据的管理Controller的依赖。所以我希望test_clientController加载示例数据集,然后呈现客户端Controller的索引View,以便我可以调整客户端UI。就是这样。我在test_clients索引方法中试过这个:classTestClientdefindexrender:template=>

  3. ruby-on-rails - 如何从 format.xml 中删除 <hash></hash> - 2

    我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为

  4. java - 等价于 Java 中的 Ruby Hash - 2

    我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/

  5. ruby-on-rails - rspec should have_select ('cars' , :options => ['volvo' , 'saab' ] 不工作 - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在首页我有:汽车:VolvoSaabMercedesAudistatic_pages_spec.rb中的测试代码:it"shouldhavetherightselect"dovisithome_pathit{shouldhave_select('cars',:options=>['volvo','saab','mercedes','audi'])}end响应是rspec./spec/request

  6. ruby-on-rails - 如何在我的 Rails 应用程序 View 中打印 ruby​​ 变量的内容? - 2

    我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby​​中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R

  7. ruby-on-rails - 如何在 Rails View 上显示错误消息? - 2

    我是rails的新手,想在form字段上应用验证。myviewsnew.html.erb.....模拟.rbclassSimulation{:in=>1..25,:message=>'Therowmustbebetween1and25'}end模拟Controller.rbclassSimulationsController我想检查模型类中row字段的整数范围,如果不在范围内则返回错误信息。我可以检查上面代码的范围,但无法返回错误消息提前致谢 最佳答案 关键是您使用的是模型表单,一种显示ActiveRecord模型实例属性的表单。c

  8. ruby-on-rails - Nokogiri:使用 XPath 搜索 <div> - 2

    我使用Nokogiri(Rubygem)css搜索寻找某些在我的html里面。看起来Nokogiri的css搜索不喜欢正则表达式。我想切换到Nokogiri的xpath搜索,因为这似乎支持搜索字符串中的正则表达式。如何在xpath搜索中实现下面提到的(伪)css搜索?require'rubygems'require'nokogiri'value=Nokogiri::HTML.parse(ABBlaCD3"HTML_END#my_blockisgivenmy_bl="1"#my_eqcorrespondstothisregexmy_eq="\/[0-9]+\/"#FIXMEThefoll

  9. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  10. java - 我的模型类或其他类中应该有逻辑吗 - 2

    我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我

随机推荐