0
我遵循this question的答案,並嘗試突出顯示RecyclerView中選定的條目。我正在使用主細節流佈局,並且此解決方案對於橫向模式非常適用。在縱向模式下,當我選擇一個條目並轉到第二個活動(包含一個片段)並將其刪除(或進行更改並保存),然後返回MainActivity()時,該位置仍然突出顯示。ANDROID:突出顯示RecyclerView中的選定條目
我該如何解決這個問題?
我的一些代碼:
MyAdapter.java上刪除操作完成你的DetailActivity前
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
int selected_position=-1;
@Override
public void onBindViewHolder(MyAdapter.ViewHolder viewHolder, final int position) {
// Set Text and Checkbox
if(selected_position == viewHolder.getAdapterPosition()){
viewHolder.itemView.setBackgroundColor(Color.MAGENTA);
}else{
viewHolder.itemView.setBackgroundColor(Color.TRANSPARENT);
}
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCallback.onEntrySelected(position);
notifyItemChanged(selected_position);
selected_position = position;
notifyItemChanged(selected_position);
}
});
}
public void dismissItem(int pos) {
selected_position=-1;
mEntries.remove(pos);
notifyDataSetChanged();
}
}
如何讓resetSelectedPos()方法在其中將selected_position再次設置爲-1?然後調用notifyDataSetChanged();這應該重新運行在BindViewHolder,然後解決您的問題? – Smashing