以下のコードに示すように、カスタムアイテムのレイアウトとスタイルをそれに応じて膨らませるために使用しているカスタムCursorAdapterがあります。私の問題は、DBからのデータが正しいにもかかわらず、間違ったスタイル情報が提供されることがあるということです(したがって、以下の例では取得isEvent == true
しますが、のようにスタイルが適用されますisEvent == false
。
これは既知のバグですか?私は何か間違ったことをしていますか、それともこれを修正するために私ができることがありますか?
private class EventAdapter extends CursorAdapter {
public EventAdapter(Context context) {
super(context, null);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return getLayoutInflater().inflate(R.layout.event_view_list_item, parent, false);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
final boolean isEvent = cursor.getInt(EventQuery.IS_EVENT) == Event.EVENT;
final String eventName = cursor.getString(EventQuery.NAME);
final TextView eventNameView = (TextView) view.findViewById(R.id.event_name);
if (isEvent) {
eventNameView.setText(eventName);
view.findViewById(R.id.arrow).setVisibility(View.VISIBLE);
view.findViewById(R.id.in_play_icon).setVisibility(View.GONE);
} else {
eventNameView.setText(cursor.getString(EventQuery.NAME));
}
}
}