关于 ListView 显示不同布局
来源:互联网 发布:网络磕炮文本 编辑:程序博客网 时间:2024/06/05 09:45
private final int FIRST_TYPE = 0;
private final int OTHERS_TYPE = 1;
FirstViewHolder firstHolder = null;
private ViewHolder holder = null;
private Context context;
public DataAdapter(Context context) {
super();
this.context = context;
}
@Override
public int getItemViewType(int position) {
if (position == 0) {
return FIRST_TYPE;
} else {
return OTHERS_TYPE;
}
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public int getCount() {
return 2;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// 获取到当前位置所对应的Type
int itemViewType = getItemViewType(position);
View firstItemView = null;
View othersItemView = null;
switch (itemViewType) {
case FIRST_TYPE:// 第一种样式
firstItemView = convertView;
if (firstItemView == null) {
firstItemView = View.inflate(context, R.layout.item_one, null);
firstHolder = new FirstViewHolder();
firstHolder.tv_content = (TextView) firstItemView
.findViewById(R.id.tv_content);
firstItemView.setTag(firstHolder);
} else {
firstHolder = (FirstViewHolder) firstItemView.getTag();
}
firstHolder.tv_content.setText("iten_one");
convertView = firstItemView;
break;
case OTHERS_TYPE:// 第二种样式
othersItemView = convertView;
if (othersItemView == null) {
othersItemView = View.inflate(context, R.layout.item_two, null);
holder = new ViewHolder();
holder.iv_image = (ImageView) othersItemView
.findViewById(R.id.iv_image);
othersItemView.setTag(holder);
} else {
holder = (ViewHolder) othersItemView.getTag();
}
holder.iv_image.setImageResource(R.drawable.ic_launcher);
position--;
convertView = othersItemView;
break;
}
return convertView;
}
}
class ViewHolder {
ImageView iv_image;
}
class FirstViewHolder {
TextView tv_content;
}
}
布局:
item_one
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello"
android:textColor="#AAFFBB"
/>
</LinearLayout>
item_two
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/iv_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
</LinearLayout>
- 关于 ListView 显示不同布局
- 关于ListView显示多种不同布局
- ListView显示不同布局
- ListView 显示不同布局
- android listview 显示不同布局
- listview item显示不同布局
- Listview中显示不同的视图布局
- Listview中显示不同的视图布局
- Listview中显示不同的视图布局
- Listview中显示不同的视图布局
- Listview中显示不同的视图布局
- Listview中显示不同的视图布局
- Listview中显示不同的视图布局
- Listview中显示不同的视图布局
- listview中显示不同的视图布局
- Listview中显示不同的视图布局
- ListView显示不同布局时注意事项
- Android ListView显示不同布局Item
- 你总问,全面发展还是术业专攻?这就是答案
- debian 安装MongoDB数据库
- android-Implementing Descendant Navigation,Notifying the User
- P27 (**) Group the elements of a set into disjoint subsets.
- 【HTML】HTML中实用但经常被忽略的内容
- 关于 ListView 显示不同布局
- Overload和Override的区别。
- iOS Instruments之Core Animation动画性能调优(工具复选框选项介绍)
- 17225 狼人游戏
- 【C#】异常处理
- windows访问Linux共享的文件
- 转:11条最全面的C/C++编码规范总结
- 百度地图根据坐标转化地址
- JavaScript逻辑语句