我尝试使用不同的列表项布局,具体取决于操作系统版本.
因此,我创建了与条件相关的不同布局.其中一个是(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允许它.
我有一个ListAdapter,它有很多不同的行布局.要拥有一个干净的代码,我想从View类中的适配器的getView()外包行的布局.是否可以将XML布局扩展为自定义视图?我只找到了LayoutInflater,但它返回了一个View,但没有帮助.我想要一个类似于Activity的setLayout()的东西.这可能吗?
谢谢!