单个列表上的不同视图(Android)

时间:2010-06-29 20:41:58

标签: android list layout

有没有办法制作包含不同视图的列表? 我的意思是在行为X中的行将具有布局“X.xml” 行号Z将具有布局“Y.xml”?

我试图以一些方式操纵ListRowAdapter()和getView(),但没有成功......

3 个答案:

答案 0 :(得分:7)

  

嗨,有没有办法制作一个列表   不同意见?我的意思是那排   posiotion X将有布局“X.xml”   行号Z将有布局   “Y.xml”?

不确定

步骤1:通过扩展AdapterBaseAdapterArrayAdapter等来创建CursorAdapter课程。

步骤2:实施getViewTypeCount()以返回有多少种不同的行类型

步骤3:实施getItemViewType()以返回0getViewTypeCount()返回的值之间的数字,指示给定位置将使用哪种行类型

步骤4:覆盖getView()newView()bindView() CursorAdapter)并让它创建正确的行

答案 1 :(得分:0)

我认为没有一种简单的方法可以开箱即用。根据布局的不同,您可能会想出一个布局,然后根据行显示或隐藏getView中的元素。如果将项目设置为Layout.GONE,则表明它不在那里。

答案 2 :(得分:0)

我用另一种方式解决了它: 在ListRowAdapter中 - > getView() 我在inflater上做了一个if()语句:

LayoutInflater inflater=context.getLayoutInflater();
View row=inflater.inflate(R.layout.X, null);
if(somthing)
{
row=inflater.inflate(R.layout.Y, null);
//whatever
}
and in the end: return row;

就像一个魅力:)