我尝试使用不同的列表项布局,具体取决于操作系统版本.
因此,我创建了与条件相关的不同布局.其中一个是(in layout/search_result_list_item.xml)
<?xml version="1.0" encoding="utf-8"?>
<include xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
layout="@android:layout/simple_list_item_1">
</include>
Run Code Online (Sandbox Code Playgroud)
它包括标准的"simple_list_item_1".
在我的Java代码中,布局与列表相关联,如下所示:
adapter = new SimpleCursorAdapter(getActivity(),
R.layout.search_results_list_item,
null,
from,
to,
0);
Run Code Online (Sandbox Code Playgroud)
显示列表项时,将引发以下异常:
android.view.InflateException: Binary XML file line #2: Error inflating class include
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
at android.support.v4.widget.ResourceCursorAdapter.newView(ResourceCursorAdapt
Run Code Online (Sandbox Code Playgroud)
怎么了 ?不能用作根项目?尽管ADT允许它.
我的项目在我的Android项目的原始资源目录中有XML文件:
我希望<!-- ... -->在.apk文件中打包时从这些文件中删除comments():
原始文件样本:
<?xml version="1.0" encoding="utf-8"?>
<celebrations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="celebrations_schema.xsd">
<!-- This is a very important comment useful during development -->
<celebration name="celebration 1" type="oneTime" ... />
<!-- This is another very important comment useful during development -->
<celebration name="celebration 2" type="reccurent" ... />
</celebrations>
Run Code Online (Sandbox Code Playgroud)
预期的过滤文件:
<?xml version="1.0" encoding="utf-8"?>
<celebrations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="celebrations_schema.xsd">
<celebration name="celebration 1" type="oneTime" ... />
<celebration name="celebration 2" type="reccurent" ... />
</celebrations>
Run Code Online (Sandbox Code Playgroud)
我在这里找到了一些有趣的类似解决方案,但我无法管理它.在我的应用中添加这些行build.gradle
processResources {
filesMatching('**/myxmlfiletobestrippedfromcomments.xml') { …Run Code Online (Sandbox Code Playgroud) 我面临以下问题:在一个页面中,我列出了我的应用程序的所有用户,并为每个用户都有一个"编辑"按钮,这是一个"GET"链接?id=<userid>.
编辑页面具有<f:viewParam name="id" value="#{editUserBean.id}"/>元数据.
如果我输入了一些输入错误并提交(我使用CDI Weld Bean验证),页面会再次显示,但我丢失?id=...了URL,因此丢失了我正在编辑的用户的用户ID.
我看过JSF验证错误中描述的类似问题,丢失了值,但是带有inputhidden的解决方案(或更糟糕的是,使用tomahawk,看起来有点过分)需要大量的uggly代码.
我尝试用CDI添加一个"对话",它正在工作,但它看起来对我来说太过分了.
在验证错误的情况下,JSF中是否存在一个简单的解决方案来保留视图参数?
[我的环境:Tomcat7 + MyFaces 2.1.0 + Hibernate Validator 4.2.0 + CDI(Weld)1.1.2]