Я разрабатываю приложение погоды, в котором я хотел использовать два Views
внутри RecyclerView
, который имеет CursorAdapter
в качестве своего члена. Я хочу использовать один View
, чтобы отображать текущую погоду и другой вид для отображения погоды других дней. Мой RecyclerView
работает отлично, если я использую только один View
для отображения погоды. Я также перезаписал getItemViewType()? to get to know which
View` type Я должен раздуваться.Гетерогенные макеты внутри RecyclerView
Код для getItemViewType()
:
private static int VIEW_TYPE_TODAY = 0;
private static int VIEW_TYPE_FUTURE_DAY = 1;
@Override
public int getItemViewType(int position) {
if(position == VIEW_TYPE_TODAY)
return VIEW_TYPE_TODAY;
else
return VIEW_TYPE_FUTURE_DAY;
}
Код для newView()
из CursorAdapter
которой я не перезаписывается:
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
int viewType = getItemViewType(cursor.getPosition());
int layoutId = -1;
if(viewType==VIEW_TYPE_TODAY)
layoutId = R.layout.list_item_forecast_today;
else if(viewType==VIEW_TYPE_FUTURE_DAY)
layoutId = R.layout.list_item_forecast;
View view = LayoutInflater.from(context).inflate(layoutId, parent, false);
return view;
}
Независимо от того, что значение position
в getItemViewType()
есть функция всегда возвращается VIEW_TYPE_TODAY
,
Может кто-нибудь, пожалуйста, сообщите, что я делаю неправильно?
вы не можете использовать 'CursorAdapter' с' RecyclerView' – Blackbelt
Да, я могу использовать CursorAdapter с RecyclerView @Blackbelt –
как? С каких пор? – Blackbelt