我正在开发一个项目,我需要为每个行项目定制不同布局的列表视图,如下所示
(i)行项目中的第一个位置应为普通图像视图和 textview
(ii)行项目中的第二个位置应为水平 列表视图
(iii)连续第三个位置itme应该是正常的自定义 listview
我知道所有这些事情要分开进行,但我不知道如何通过仅更改行项目位置来合并到单个列表视图中。我的确切要求的图像是。
我也在为您分享自定义列表视图适配器类的一些代码供您参考
public class ListViewAdapter extends BaseAdapter {
// Declare Variables
Context context;
String[] country;
int[] flag;
LayoutInflater inflater;
public ListViewAdapter(Context context, String[] country, int[] flag) {
this.context = context;
this.country = country;
this.flag = flag;
}
@Override
public int getCount() {
return country.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
// Declare Variables
TextView txtcountry;
ImageView imgflag;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.listview_item, parent, false);
// Locate the TextViews in listview_item.xml
txtcountry = (TextView) itemView.findViewById(R.id.country);
// Locate the ImageView in listview_item.xml
imgflag = (ImageView) itemView.findViewById(R.id.flag);
// Capture position and set to the TextViews
txtcountry.setText(country[position]);
// Capture position and set to the ImageView
imgflag.setImageResource(flag[position]);
return itemView;
} <br>
请帮助我实现这一目标。提前致谢
答案 0 :(得分:6)
您可以使用适配器中的不同视图为每一行充气。使用:
public View getView(int position, View convertView, ViewGroup parent) {
if(position==0)
{
//view 1
}
else if(position==1)
{
//View 2
}
else
{
Rest of the list elements
}