我必须创建一个列表,其列表项有 2 行文本。我开始构建一个自定义列表项,但后来我发现了该TwoLineListItem
组件。我写了这段代码:
pageFilterResultView=new TwoLineListItem(containerActivity);
pageFilterResultView.getText1().setText("Test");
但是,getText1
返回 null,并且第二行抛出一个NullPointerException
. 所以我认为我需要使用膨胀布局而不是构造函数。TwoLineListItem文档指定我可以将android.R.layout.two_line_list_item
资源用于布局,因此我将代码更改为:
LayoutInflater inflater=(LayoutInflater)containerActivity.
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
pageFilterResultView=(TwoLineListItem)inflater.inflate(android.R.
layout.two_line_list_item,null);
pageFilterResultView.getText1().setText("Test");
但是,这会抛出 a ,ClassCastException
因为布局实际上是 a LinearLayout
。TwoLineListItem
继承自RelativeLayout
,因此我什至无法将布局转换为层次结构中的更高级别。
那么问题来了:如何TwoLineListItem
正确使用?我必须为它创建自己的自定义布局吗?如果是这样,如果我仍然必须自己完成创建列表项的所有工作,那么这个组件的意义何在?