在clickview上点击几秒钟后,运行一个小吃吧

时间:2017-06-16 07:14:31

标签: android android-recyclerview onclicklistener

我有一个循环视图,当在clickview上点击几秒钟时,运行一个快餐栏。怎么做? 我很困惑寻找在谷歌搜索的关键字。 我可以这样:

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    Glide.with(context)
            .load("http://bls.hol.es/" + list_data.get(position).get("poto"))
            .crossFade()
            .placeholder(R.mipmap.ic_launcher)
            .into(holder.imghape);
    final String namamu=list_data.get(position).get("nama");
    holder.txthape.setText(namamu);
    holder.txtalamat.setText(list_data.get(position).get("alamat"));
    // Set onclicklistener pada view tvTitle (TextView)
    holder.txthape.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Snackbar.make(view, "Clicked element "+namamu, Snackbar.LENGTH_LONG).show();
        }
    });

}

坦克..

2 个答案:

答案 0 :(得分:5)

使用 setOnLongClickListener 代替 setOnClickListener

holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {

                    Snackbar snackbar = Snackbar.make(v,"Please enter a name",Snackbar.LENGTH_LONG);
                    snackbar.show();

                    return false;
                }
            });

所以你的代码变成了

holder.txthape.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {

                    Snackbar.make(v, "Clicked element "+namamu, Snackbar.LENGTH_LONG).show();
                    return false;
                }
            });

答案 1 :(得分:1)

如果我确实理解你的答案,那么你需要的是 OnLongClickListener ,这里是link to the documentation。您只需要像这样替换点击监听器

holder.txthape.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View view) {
        Snackbar.make(view, "Clicked element "+namamu, Snackbar.LENGTH_LONG).show();
        return true;
    }
});