问题标签 [inflate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
2290 浏览

android - Failed to inflate 错误的可能原因是什么?

我已经在模拟器和 HTC 渴望中测试了我的应用程序,它运行正常,但是当我使用 CyanogenMod 转向三星 S2 时,应用程序崩溃并在下面打印 logcat:

知道为什么会这样吗?

0 投票
3 回答
7327 浏览

android - 将多个视图添加到 LinearLayout 的最快方法是什么?

我有一个LinearLayout已经包含几个元素的视图。我想以编程方式向它添加更多视图。因为这是在 a 里面ScrollView,所以一切都会被滚动。

所以我要做的是浏览我的列表,并将我的自定义视图的新实例添加到它。该自定义视图扩展了 XML 布局并添加了一些方法。

这种方法效果很好。问题是它非常慢,即使没有任何疯狂的代码……一个包含 10 个项目的列表需要大约 500 毫秒来实例化。从用户体验的角度来看,这很难接受。

我的问题是,这是正确/最好的方法吗?尽管“R.layout.my_list_item”非常简单,但 Android 似乎需要花费大量时间来扩充布局。我想知道是否有一种方法可以将“膨胀”的布局重用于其他视图,有点缓存更复杂的解析?

我试过用一个ListView(和适配器和一个包装器)来做这个,它似乎要快得多。问题是我不能使用简单的ListView; 我的布局比一个简单的列表更复杂(它LinearLayout本身包含额外的自定义图标,并且它有另一个父级,在它被包裹之前有更多的视图ScrollView)。

但是有没有办法为 LinearLayout 使用适配器?这会比尝试自己添加视图更快吗?

任何帮助表示赞赏。我想让这更快。

代码如下。

主要活动:

我的列表项:

我想要完成的是这个。考虑这种布局:

基本布局

这个布局是一个FrameLayout(外框),包含一个ImageView(灰色)、一个TextView(内部矩形,在顶部)和一个LinearLayout(内部矩形,在底部)。这个LinearLayout矩形是我用一些项目动态填充的。

在我填充它之后,我希望最终结果是这样的(每个新矩形都是一个新MyListItem实例):

填充布局

也就是说,一切都是可滚动的(例如,背景图像在顶部对齐)。TheLinearLayout本身不可滚动(其他所有内容都随之而来),因此据ListView我所知,为什么 a 不能在我的情况下很好地工作。

0 投票
1 回答
831 浏览

android - 布局膨胀定位问题

我有一个布局 A 由一组 2 个文本和一个图像组成,然后是另一组 2 个文本和一个图像(它们由一条线分隔)。我想膨胀这个布局(比如说A)并将它放在另一个布局中(比如说B)。问题是图像和分隔符位于 B 的中间,而我希望它们位于 A 的中间。我的代码是:

布局 A(待充气):

我正在插入这样的膨胀布局:

请注意,尽管为图像设置了属性android:layout_height="fill_parent"和,但android:layout_centerHorizontal="true"我希望它们以 A 为中心,而不是 B。

有什么帮助吗??

0 投票
3 回答
8371 浏览

android - 解析 XML 时出错:自定义 LinearLayout 上的未绑定前缀

我在stackoverflow上找到了这个Custom LinearLayout的例子,但是当我尝试运行它时它会抛出错误,有人能找到它有什么问题吗?

自定义线性布局:

资源 > 值 > attrs.xml

主.xml:

活动类:

LogCat 错误:

致命异常:主要 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.androidapp.widgets/com.example.androidapp.widgets.GoodPanelsActivity}:android.view.InflateException:二进制 XML 文件第 9 行:膨胀错误com.example.androidapp.widgets.ExpandablePanel 类

编辑:更多来自 LogCat

java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:415) at android.view.LayoutInflater.createView(LayoutInflater.java :505) 原因:java.lang.IllegalArgumentException:handle 属性是必需的,并且必须引用有效的子项。在 com.example.androidapp.widgets.ExpandablePanel.(ExpandablePanel.java:39)

0 投票
1 回答
1041 浏览

android - Android:OnCreate xml 膨胀错误?

这些是我的活动代码的一部分

当我运行活动时,logcat 中出现错误。

请帮助我解决这个问题。

0 投票
1 回答
1856 浏览

java - 带有自定义列表适配器的片段导致膨胀视图崩溃

我正在尝试将我的一个应用程序转换为使用 Fragments 来改善应用程序在 ICS / Honeycomb 上的外观和工作方式,但我遇到了一个问题,尽管我在这里花了很多时间谷歌搜索和阅读答案,但我不能似乎找到了解决办法。

我有一个自定义列表适配器,用于显示我从 SQLite 数据库获得的一些信息。在我尝试将其显示在活动中时转换为片段之前,它运行良好。

但是,当我尝试将 ListView 放入应用程序 FC 的片段中时,出现以下错误:

片段(results.xml)布局是:

我的自定义列表适配器使用的 row.xml 文件如下(android:text 条目只是占位符,它被应用程序替换为站名等内容)

我的列表适配器由

我的 customlistview 中的代码是 FreqAdaptor.java - 崩溃在“public View getView”中,并由注释显示:

我的 results.java 文件以以下内容开头。如前所述,我尝试为我的 FreqAdaptor.java 使用相同的充气机并尝试制作新的充气机,但我遇到了同样的崩溃。

任何人都可以帮忙吗?正如我提到的,这在不使用 Fragments 的情况下可以正常工作。应用程序在这里https://market.android.com/details?id=com.msi.shortwave如果有人需要它来为我提供一些建议,我可以提供完整的源代码,因为我真的很坚持。

使用上面的 [code] 部分发布时,我的一些缩进被弄乱了。不知道为什么。

编辑 - 我的 XML 文件看起来不错吗?我什至已更改为 ListFragment 并在此处将 xml 文件用于我的片段-developer.android.com/reference/android/app/ListFragment.html,但同样的事情一直在发生。有人有什么想法吗?

0 投票
1 回答
190 浏览

android - 自定义 ListView 行显示 1 个子项而不是全部 4 个

我有一个自定义 ListView,其中包含每个列表项的水平 LinearLayouts 的垂直 LinearLayout。水平 LinearLayout 包含 4 个按钮。问题是当我显示 ListView 时,仅显示 4 个按钮中的 1 个。

我有我的空垂直线性布局:

我的水平线性布局:

和我的自定义 BaseAdapter 类的 getView:

0 投票
2 回答
296 浏览

android - Android onCreate ClassCastException

我有这个:

它抛出一个ClassCastException为什么?如果我setContentView(R.layout.main)一切顺利。但我需要将布局放在变量中,因为我需要它来使用广告库。有没有一种方法可以膨胀 XML 并将布局放在变量中?

谢谢

0 投票
1 回答
1249 浏览

android - 来自标签的日志:“szipinf”和文本:来自Logcat的“Initializing inflate state”是什么意思

我是 Android 的新程序员,所以请原谅我的知识和我的英语,因为它不是我的第一语言。所以我有一个带有标签的日志:“szipinf”和文本:“Initializing inflate state”,我不知道它是什么意思......我还看到它只在我在手机上测试游戏时出现,在模拟器上它不显示。如果有人能告诉我这意味着什么,我将不胜感激。

0 投票
1 回答
6030 浏览

android - 如何将活动放入片段中?

我有一个 3 页的 ViewPager。在每个页面中,我想插入一个列表视图,该列表视图填充在单独的类中。现在,我发现最简单的方法是膨胀布局,其中包含一个片段。假设我有 3 页。在第 1 页中,我使用 fragment1 扩展布局,在第 2 页中,我使用 fragment2 扩展布局,在第 3 页中,我使用 fragment3 扩展布局。如何将活动分配为片段内容?我一直在互联网上搜索教程,但没有一个真正适合我的需求。或者有没有更好的方法来实现我的目标?

插图: 在此处输入图像描述

Activity 1 2 和 3 都是 ListView。膨胀自定义布局作为他们的项目布局。