私のrecyclerviewは、2つのテキストビューと1つのイメージビューを表示します。アダプタのonbindviewholderの中で、私は2 textviewのテキストをうまく設定することができますが、色を変更すると、それらは見えなくなります。色をrecyclerviewアイテムに変更する
また、recyclerviewアイテムを削除してから元に戻すと、色の変更が表示されます。私は間違って何をしていますか?
私はそれがnotify ...()メソッドの1つと関係がありますが、それらのうちの1つをonbindviewholderの中に入れてみると、起動時にアプリケーションがクラッシュすることがあります。
public class MemoListAdapter extends RecyclerView.Adapter<MemoListAdapter.ViewHolder> {
private CardView cv;
private List<Memo> mMemos;
private Context mContext;
public List<Memo> memosToRemove;
//pass in the list of notes to display
public MemoListAdapter(List<Memo> memos, Context context) {
mMemos = memos;
mContext = context;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View rowView = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_memo_list, parent, false);
ViewHolder viewHolder = new ViewHolder(rowView, mContext, mMemos);
return viewHolder;
}
//@param holder & position - identifies the Note we are working with
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
holder.memoTitle.setText(mMemos.get(position).getTitle());
holder.memoContent.setText(mMemos.get(position).getContent());
holder.memoIcon.setColorFilter(mMemos.get(position).getNotificationColor());
holder.memoTitle.setTextColor(mMemos.get(position).getNotificationColor());
}
ここに正しく、私はその後すぐに、その後のメモをスワイプ色
public void onItemRemove(final RecyclerView.ViewHolder viewHolder, final RecyclerView mRecyclerView) {
final int adapterPosition = viewHolder.getAdapterPosition();
final int memoID = mMemos.get(adapterPosition).getId();
final DatabaseHandler db = new DatabaseHandler(mContext);
final Memo memo = db.getMemo(memoID);
mMemos.remove(adapterPosition);
db.deleteMemo(memo);
notifyItemRemoved(adapterPosition);
Snackbar snackbar = Snackbar
.make(mRecyclerView, mContext.getString(R.string.note_deleted), Snackbar.LENGTH_LONG)
.setAction(R.string.undo_string, new View.OnClickListener() {
@Override
public void onClick(View view) {
mMemos.add(adapterPosition, memo);
notifyItemInserted(adapterPosition);
mRecyclerView.scrollToPosition(adapterPosition);
db.addMemo(memo);
}
});
への変更を表示する元に戻す方法はあります
[IMAGE] After I press the undo delete on the snackbar
に基づいて、データベースの代わりに、メモを取るに依存するから、あなたは私に、「mMemos.get(位置).getNotificationColor()」 –
を変更します試してみてくださいholder.memoTitle.setTテストケースのextColor(Color.RED)?そして、それが動作しているかどうかを確認してください –
@snlvtrの価値を伝える@snlvtr色programmatially – Raghavendra