gpt4 book ai didi

android - 在 CursorAdapter 设置两个 layoutsType 的问题

转载 作者:行者123 更新时间:2023-11-30 02:02:04 25 4
gpt4 key购买 nike

我试图用两种不同的布局设置光标适配器,第一个必须是唯一的,其他的 - 相同,但 getItemViewType(cursor.getPosition()); 总是返回 0...

这是我的适配器:

公共(public)类 MyAdapter 扩展了 CursorAdapter

public static class ViewHolder {

public ViewHolder (View rootView){}}

public ProfileAdapter(Activity activity, Cursor c) {
super(activity, c);
mActivity = activity;
}

@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
int mLayoutId = -1;
mViewType = getItemViewType(cursor.getPosition());
if (mViewType == VIEW_TYPE_MAIN){
mLayoutId = R.layout.main;
} else {
mLayoutId = R.layout.list_items;
}

View rootView = LayoutInflater.from(context).inflate(mLayoutId, parent, false);
ViewHolder viewHolder = new ViewHolder(rootView);
rootView.setTag(viewHolder);
return rootView;

}


@Override
public void bindView(View view, Context context, Cursor cursor) {
mCursor = cursor;
mView = view;
mViewHolder = (ViewHolder) view.getTag();
mViewType = getItemViewType(cursor.getPosition());
if (mViewType == VIEW_TYPE_MAIN){

} else {
}
}

感觉我错过了一些非常简单的东西......很高兴有任何想法可以解决这个问题!

最佳答案

您的适配器必须实现 getViewTypeCount()(并在您的情况下返回 2)并且还实现 getItemViewType()。默认实现不了解您的数据,也不会尝试解决这个问题。它只会处理只使用一种 View 类型的情况(因此返回 0)。添加缺少的方法,你应该是好的。

关于android - 在 CursorAdapter 设置两个 layoutsType 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31304167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com