Android Recyclerview更新(示例= Gmail读取更改字体)

时间:2016-08-30 10:03:17

标签: java android android-fragments android-recyclerview

更新Recyclerview

后的Android recyclelerview项目点击事件

此处的图片说明

enter image description here

邮件1阅读 邮件2不要阅读

在项目中我想对我做点击事件 你怎么能帮助

let latitudeAll = [String]()

let double = 

NSNumberFormatter().numberFromString(latitudeAll)?.doubleValue

2 个答案:

答案 0 :(得分:0)

您可以使用接口在活动级别执行,而不是在适配器级别处理click事件。将适配器位置传递给活动,从您可以执行实际过程的活动

参见示例http://wiki.workassis.com/android-recyclerview-example/

答案 1 :(得分:0)

首先,为点击事件添加此界面

public interface OnRecyclerItemViewClickListener {
  void onClicked(int position, Mesajlar jar);
}

<强>模型

public class Mesajlar {
    ...
    boolean isClicked;

    public boolean isClicked() {
        return icClicked;
    }

    public void setClicked(boolean isClicked) {
        this.isClicked = isClicked;
    }
    ...
}

适配器

private OnRecyclerItemViewClickListener listener;

public Mesajlar_Adapter(List<Mesajlar> resultModels, Context context, OnRecyclerItemViewClickListener listener) {
    ...
    this.listener = listener;
}

...

@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
    if (resultModels.get(position).isClicked()) {
        // change pressed background color here!
    } else {
        // change default background color here!
    }

    holder.itemView.setOnClickListener(v -> {
      listener.onClicked(position, resultModels.get(position));
    });
...
}

活动

创建RecyclerView Adapter时,将OnRecyclerItemViewClickListener添加到Activity中的适配器构造函数

Mesajlar_Adapter adapter = new Mesajlar_Adapter(list, context, new OnRecyclerItemViewClickListener {
    @Override
    public void onClicked(int position, Mesajlar jar) {
        jar.setClicked(true);
        adapter.notifyItemChanged(position);

        Intent i = new Intent(YourActivity.this, Mesaj_Detay_Activity.class);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        i.putExtra("detay", jar.getDETAY());
        i.putExtra("mesaj_id",jar.getMESAJ_ID());
        i.putExtra("kullanici_id", jar.getKULLANICI());
        startActivity(i);
    }
});