中照样子添加长按监听: /////////////////////条目长按监听///////////////////////////////////// public interface OnItemLongClickListener { void onLongClick(View itemView, ViewGroup parent, int position); } private OnItemLongClickListener mOnItemLongClickListener; public void setOnItemLongClickListener(OnItemLongClickListener onItemLongClickListener ) { mOnItemLongClickListener = onItemLongClickListener; } 2.FirstRvAdapter添加删除与添加方法: mRecyclerView.scrollToPosition(0);//滑动到某个条目 } }); mAdapter.setOnItemLongClickListener(new FirstRvAdapter.OnItemLongClickListener
首先在RecyclerViewAdapter类中分别定义2个接口OnItemClickListener和OnItemLongClickListener,然后提供2个公开方法便于Activity设置事件监听 LayoutInflater mInflater = null; private OnItemClickListener mOnItemClickListener = null; private OnItemLongClickListener this.mOnItemClickListener = l; } // 设置长按事件 public void setOnItemLongClickListener(OnItemLongClickListener OnItemClickListener { void onClick(View parent, int position); } // 长按事件接口 public interface OnItemLongClickListener AppCompatActivity implements RecyclerViewAdapter.OnItemClickListener, RecyclerViewAdapter.OnItemLongClickListener
LayoutInflater mInflater = null; private OnItemClickListener mOnItemClickListener = null; private OnItemLongClickListener this.mOnItemClickListener = l; } // 设置长按事件 public void setOnItemLongClickListener(OnItemLongClickListener OnItemClickListener { void onClick(View parent, int position); } // 长按事件接口 public interface OnItemLongClickListener AppCompatActivity implements RecyclerViewAdapter.OnItemClickListener, RecyclerViewAdapter.OnItemLongClickListener
OnItemClickListener { void onItemClickListener(MyViewHolder viewHolder, int pos); void onItemLongClickListener @Override public boolean onLongClick(View v) { mListener.onItemLongClickListener mSelectedDatas.get(pos), Toast.LENGTH_SHORT).show(); } } @Override public void onItemLongClickListener
protected LayoutInflater mInflater; private OnItemClickListener mClickListener; private OnItemLongClickListener mClickListener = listener; } public void setOnItemLongClickListener(OnItemLongClickListener public void onItemClick(View itemView, int pos); } public interface OnItemLongClickListener ((BaseRecyclerAdapter)mAdapter).setOnItemLongClickListener(new BaseRecyclerAdapter.OnItemLongClickListener
protected Context mContext; protected OnItemClickListener<T> mOnItemClickListener; protected OnItemLongClickListener OnItemClickListener<T> { void onItemClick(View view, int position, T entity); } public interface OnItemLongClickListener { mOnHeaderItemClickListener = listener; } public void setOnItemLongClickListener(OnItemLongClickListener
private val infos: MutableList<RecyclerInfo>) : RecyclerView.Adapter<ViewHolder>(), OnItemClickListener, OnItemLongClickListener OnItemClickListener) { this.itemClickListener = listener } private var itemLongClickListener: OnItemLongClickListener = null fun setOnItemLongClickListener(listener: OnItemLongClickListener) { this.itemLongClickListener OnItemClickListener) { this.itemClickListener = listener } var itemLongClickListener: OnItemLongClickListener = null fun setOnItemLongClickListener(listener: OnItemLongClickListener) { this.itemLongClickListener
LongClick = false; } }); listView1.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener LongClick = false; } }); listView1.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener
LayoutInflater mInflater = null; private OnItemClickListener mOnItemClickListener = null; private OnItemLongClickListener this.mOnItemClickListener = l; } // 设置长按事件 public void setOnItemLongClickListener(OnItemLongClickListener OnItemClickListener { void onClick(View parent, int position); } // 长按事件接口 public interface OnItemLongClickListener
import com.example.exmrecycler.interfaces.OnItemClickListener; import com.example.exmrecycler.interfaces.OnItemLongClickListener public class RecyclerAdapter extends RecyclerView.Adapter<ViewHolder> implements OnItemClickListener, OnItemLongClickListener setOnItemClickListener(OnItemClickListener listener) { this.mOnItemClickListener = listener; } private OnItemLongClickListener mOnItemLongClickListener; public void setOnItemLongClickListener(OnItemLongClickListener listener)
private OnItemSelectedListener mOnItemSelected; private OnItemClickListener mOnItemClicked; private OnItemLongClickListener OnItemClickListener listener){ mOnItemClicked = listener; } @Override public void setOnItemLongClickListener(OnItemLongClickListener
,这是一个类的模板,如果需要让 GridView 实现对事件的影响,需要继承一个GridView ,并且实现AdapterView.OnItemClickListener 、 AdapterView.OnItemLongClickListener > parent, View view, int position, long id) {} } AdapterView.OnItemLongClickListener { abstract
直接调用listview.setOnItemLongClickListener长按事件 listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener
其中点击方法为setOnItemClickListener,点击监听器为OnItemClickListener;长按方法为setOnItemLongClickListener,长按监听器为OnItemLongClickListener android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener InflateParams" }) public class TitleListAdapter extends BaseAdapter implements OnItemClickListener, OnItemLongClickListener
53dp" android:visibility="gone" /> </LinearLayout> 代码 lv_list.setOnItemLongClickListener(new OnItemLongClickListener
OnItemSelectedListener mOnItemSelected; private OnItemClickListener mOnItemClicked; private OnItemLongClickListener listener; } @Override public void setOnItemLongClickListener( AdapterView.OnItemLongClickListener
最后不要忘了实现瀑布流的元素单击和元素长按的监听器与调用方法,即OnItemClickListener的onItemClick,以及OnItemLongClickListener的onItemLongClick 不过PinterestLikeAdapterView有个不足,就是还未实现长按事件的处理,博主看了它的代码,源码中只定义了监听器OnItemLongClickListener,却并未提供长按方法的调用,
else { mlist.expandGroup(groupPosition);//设置展开 } } } 监听长点击事件 mlist.setOnItemLongClickListener(new OnItemLongClickListener android.widget.ListAdapter; import android.widget.TextView; import android.widget.Toast; import android.widget.AdapterView.OnItemLongClickListener id : ” + id, Toast.LENGTH_SHORT).show(); return true; } }); // mlist.setOnItemLongClickListener(new OnItemLongClickListener
53dp" android:visibility="gone" /> </LinearLayout> 代码 lv_list.setOnItemLongClickListener(new OnItemLongClickListener
windowY = (int) ev.getY(); 然后长按的时候,拖动控件,实际是通过计算,引入相应的布局,具体看代码 { setOnItemLongClickListener(new OnItemLongClickListener