Android-如何与数据库结合动态适配listview的布局
listview的item需要根据程序数据库中的某个字段的值来采用不同布局,
比如数据库表名为idea,字段为category,数据类型为varchar
有两个值为text和sound,这两个值分别对应不同的布局。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
下面的adapter你可以试下:
class MyAdapter extends CursorAdapter {
public AppListAdapter(Context context, Cursor c) {
super(context, c);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Cursor cursor = getCursor();
cursor.moveToPosition(position);
final String name = cursor.getString(cursor.getColumnIndex("category"));
if ("text".equals(name)) {
convertView = getLayoutInflater.inflate(R.layout.item_layout1, null);
} else if ("sound".equals(name)) {
convertView = getLayoutInflater.inflate(R.layout.item_layout1, null);
}
return convertView;
}
@Override
public void bindView(View arg0, Context arg1, Cursor arg2) {
}
@Override
public View newView(Context arg0, Cursor arg1, ViewGroup arg2) {
return null;
}
}
最笨的方法就是写两个adapter类,用一个if来判断什么情况下加载哪个adapter类