package com.chad.baserecyclerviewadapterhelper;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Toast;
import com.chad.baserecyclerviewadapterhelper.adapter.ItemClickAdapter;
import com.chad.baserecyclerviewadapterhelper.base.BaseActivity;
import com.chad.baserecyclerviewadapterhelper.entity.ClickEntity;
import com.chad.library.adapter.base.BaseQuickAdapter;
import java.util.ArrayList;
import java.util.List;
public class ItemClickActivity extends BaseActivity {
private RecyclerView mRecyclerView;
private ItemClickAdapter adapter;
private static final int PAGE_SIZE = 10;
private static String TAG = "ItemClickActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setBackBtn();
setTitle("ItemClickActivity Activity");
setContentView(R.layout.activity_item_click);
mRecyclerView = (RecyclerView) findViewById(R.id.list);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
initAdapter();
adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
Log.d(TAG, "onItemClick: ");
Toast.makeText(ItemClickActivity.this, "onItemClick" + position, Toast.LENGTH_SHORT).show();
}
});
adapter.setOnItemLongClickListener(new BaseQuickAdapter.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(BaseQuickAdapter adapter, View view, int position) {
Log.d(TAG, "onItemLongClick: ");
Toast.makeText(ItemClickActivity.this, "onItemLongClick" + position, Toast.LENGTH_SHORT).show();
return true;
}
});
adapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
Log.d(TAG, "onItemChildClick: ");
Toast.makeText(ItemClickActivity.this, "onItemChildClick" + position, Toast.LENGTH_SHORT).show();
}
});
adapter.setOnItemChildLongClickListener(new BaseQuickAdapter.OnItemChildLongClickListener() {
@Override
public boolean onItemChildLongClick(BaseQuickAdapter adapter, View view, int position) {
Log.d(TAG, "onItemChildLongClick: ");
Toast.makeText(ItemClickActivity.this, "onItemChildLongClick" + position, Toast.LENGTH_SHORT).show();
return true;
}
});
/**
* you can also use this way to solve your click Event
*/
// mRecyclerView.addOnItemTouchListener(new OnItemClickListener() {
// /**
// * Callback method to be invoked when an item in this AdapterView has
// * been clicked.
// *
// * @param view The view within the AdapterView that was clicked (this
// * will be a view provided by the adapter)
// * @param position The position of the view in the adapter.
// */
// @Override
// public void onSimpleItemClick(final BaseQuickAdapter adapter, final View view, final int position) {
// Log.d(TAG, "SimpleOnItemClick: ");
//
// }
// /**
// * callback method to be invoked when an chidview in this view has been
// * click and held
// *
// * @param view The view whihin the AbsListView that was clicked
// * @param position The position of the view int the adapter
// * @return true if the callback consumed the long click ,false otherwise
// */
// @Override
// public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
// Logger.d("onItemChildClick "+position+" be click");
// Toast.makeText(ItemClickActivity.this, "onItemChildClick" + position, Toast.LENGTH_SHORT).show();
//
// }
//
// /**
// * Callback method to be invoked when an item in this view has been clicked and held.
// * @param adapter
// * @param view
// * @param position
// */
// @Override
// public void onItemLongClick(final BaseQuickAdapter adapter, final View view, final int position) {
// Toast.makeText(ItemClickActivity.this, "onItemLongClick" + position, Toast.LENGTH_SHORT).show();
// }
// /**
// * Callback method to be invoked when an itemchild in this view has been clicked and held.
// * @param adapter
// * @param view
// * @param position
// */
// @Override
// public void onItemChildLongClick(final BaseQuickAdapter adapter, final View view, final int position) {
// Toast.makeText(ItemClickActivity.this, "onItemChildLongClick" + position, Toast.LENGTH_SHORT).show();
// }
// });
}
private void initAdapter() {
List<ClickEntity> data = new ArrayList<>();
data.add(new ClickEntity(ClickEntity.CLICK_ITEM_VIEW));
data.add(new ClickEntity(ClickEntity.CLICK_ITEM_CHILD_VIEW));
data.add(new ClickEntity(ClickEntity.LONG_CLICK_ITEM_VIEW));
data.add(new ClickEntity(ClickEntity.LONG_CLICK_ITEM_CHILD_VIEW));
data.add(new ClickEntity(ClickEntity.NEST_CLICK_ITEM_CHILD_VIEW));
adapter = new ItemClickAdapter(data);
adapter.openLoadAnimation();
mRecyclerView.setAdapter(adapter);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
return super.dispatchTouchEvent(ev);
}
}