У меня проблемы с пониманием того, какой метод обратного вызова ItemTouchHelper вызывается, когда я прокручиваю карту, но я не заканчиваю салфетки и вместо этого верну его обратно в нормальное состояние.ItemTouchHelper callback
Что я имею в настоящее время:
@Override
public void onSwiped(final RecyclerView.ViewHolder viewHolder, int direction) {
mCardItemAdapter.deleteCard(viewHolder.getAdapterPosition(), mRecyclerView);
}
который удаляет элемент из адаптера.
И:
@Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
Log.d("dx =",""+dX);
// Can be modified
if(dX < -300) {
View v = viewHolder.itemView;
RelativeLayout mLayout = (RelativeLayout) v.findViewById(R.id.card_item_layout_relative_layout);
mLayout.setBackgroundResource(R.color.red);
}
super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
}
Что я хочу достичь? Когда я сажусь, фон становится красным, но когда я отпускаю салфетки перед вызовом onSwiped
, фон остается красным, но я хочу, чтобы он снова был белым.
Надеюсь, кто-то может помочь мне с этим.
'если (йх <-300) {...} еще {mLayout.setBackgroundResource (R.color.white); } '? – Bill
ok wtf? У меня было это раньше, но он не работал O.o ok, возможно, я был свалкой. Напишите это как ответ, и я отметю его: D – greedsin