下面列出了android.widget.AdapterView#setOnItemLongClickListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Binds this adapter to the given {@link AdapterView}, setting it as its adapter. This should be done by
* construction or immediately after, before this adapter is used. This mechanism sets this class as the view's
* adapter and permits certain functionality such as click events. Without it, this class will still function as
* a normal {@link BaseAdapter}, but additional functionality may not work. Ignore this step at your own risk.
*
* @param adapterView The {@link AdapterView} to bind to.
*/
public void bindToAdapterView(AdapterView<? super BaseAdapter> adapterView) {
if (adapterView != null) {
adapterView.setAdapter(this);
// Spinners don't like on item click listeners.
// We will still delegate calls to it since you're clicking on an item to select it...
if (!(adapterView instanceof Spinner)) {
adapterView.setOnItemClickListener(internalItemClickListener);
} else {
adapterView.setOnItemSelectedListener(internalItemSelectedListener);
}
adapterView.setOnItemLongClickListener(internalLongClickListener);
}
}
public void setAdapterView(AdapterView<? super BaseAdapter> adapterView) {
this.adapterView = adapterView;
checkActivity();
adapterView.setOnItemLongClickListener(this);
adapterView.setOnItemClickListener(this);
adapterView.setAdapter(owner);
parseAttrs();
if (!checkedItems.isEmpty()) {
startActionMode();
onItemSelectedStateChanged();
}
}
public static void itemLongClick(AdapterView.OnItemLongClickListener li, AdapterView ... views) {
if(views == null || views.length == 0) return;
for(AdapterView v : views) v.setOnItemLongClickListener(li);
}
public ItemViewHelper setOnItemLongClickListener(int viewId, AdapterView.OnItemLongClickListener listener) {
AdapterView view = this.getView(viewId);
view.setOnItemLongClickListener(listener);
return this;
}
public void setOnItemLongClickListener(int viewId, AdapterView.OnItemLongClickListener listener) {
AdapterView view = findViewById(viewId);
view.setOnItemLongClickListener(listener);
}
public static void itemLongClick(AdapterView.OnItemLongClickListener li, AdapterView ... views) {
if(views == null || views.length == 0) return;
for(AdapterView v : views) v.setOnItemLongClickListener(li);
}
/**
* Register a callback method for when an item is long clicked in the ListView.
*
* @param listener The callback method.
* @return self
*/
public T itemLongClicked(AdapterView.OnItemLongClickListener listener) {
if (view instanceof AdapterView) {
AdapterView<?> alv = (AdapterView<?>) view;
alv.setOnItemLongClickListener(listener);
}
return self();
}
/**
* Sets the listview or gridview's item long click listener of the view
*
* @param viewId The view id.
* @param listener The item long click listener;
* @return The BaseViewHolder for chaining.
*/
public BaseViewHolder setOnItemLongClickListener(@IdRes int viewId, AdapterView.OnItemLongClickListener listener) {
AdapterView view = getView(viewId);
view.setOnItemLongClickListener(listener);
return this;
}
/**
* Sets the listview or gridview's item long click listener of the view
*
* @param viewId The view id.
* @param listener The item long click listener;
* @return The BaseViewHolder for chaining.
*/
public BaseViewHolder setOnItemLongClickListener(int viewId, AdapterView.OnItemLongClickListener listener) {
AdapterView view = getView(viewId);
view.setOnItemLongClickListener(listener);
return this;
}
/**
* Sets the listview or gridview's item long click listener of the view
*
* @param viewId The view id.
* @param listener The item long click listener;
* @return The BaseViewHolder for chaining.
*/
public BaseViewHolder setOnItemLongClickListener(int viewId, AdapterView.OnItemLongClickListener listener) {
AdapterView view = getView(viewId);
view.setOnItemLongClickListener(listener);
return this;
}
/**
* Sets the listview or gridview's item long click listener of the view
*
* @param viewId The view id.
* @param listener The item long click listener;
* @return The BaseViewHolder for chaining.
*/
public BaseViewHolder setOnItemLongClickListener(int viewId, AdapterView.OnItemLongClickListener listener) {
AdapterView view = getView(viewId);
view.setOnItemLongClickListener(listener);
return this;
}
/**
* Sets the listview or gridview's item long click listener of the view
*
* @param viewId The view id.
* @param listener The item long click listener;
* @return The BaseViewHolder for chaining.
*/
public BaseViewHolder setOnItemLongClickListener(int viewId, AdapterView.OnItemLongClickListener listener) {
AdapterView view = getView(viewId);
view.setOnItemLongClickListener(listener);
return this;
}
/**
* Sets the listview or gridview's item long click listener of the view
*
* @param viewId The view id.
* @param listener The item long click listener;
* @return The BaseViewHolder for chaining.
*/
public BaseViewHolder setOnItemLongClickListener(@IdRes int viewId, AdapterView.OnItemLongClickListener listener) {
AdapterView view = getView(viewId);
view.setOnItemLongClickListener(listener);
return this;
}
/**
* Sets the listview or gridview's item long click listener of the view
*
* @param viewId The view id.
* @param listener The item long click listener;
* @return The BaseViewHolder for chaining.
*/
public BaseViewHolder setOnItemLongClickListener(int viewId, AdapterView.OnItemLongClickListener listener) {
AdapterView view = getView(viewId);
view.setOnItemLongClickListener(listener);
return this;
}
/**
* Sets the listview or gridview's item long click listener of the view
*
* @param viewId The view id.
* @param listener The item long click listener;
* @return The BaseViewHolder for chaining.
*/
public BaseViewHolder setOnItemLongClickListener(int viewId, AdapterView.OnItemLongClickListener listener) {
AdapterView view = getView(viewId);
view.setOnItemLongClickListener(listener);
return this;
}