我已经创建了一个带菜单的导航抽屉栏,但是当我检查抽屉栏时,我想突出显示并禁用菜单栏上的所选项目。
我该怎么做?
当我点击菜单上的项目时,我也没有看到点击动画
请帮助
感谢。
这是我使用的代码
mRecyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
@Override
public boolean onInterceptTouchEvent(RecyclerView recyclerView, MotionEvent motionEvent) {
View child = recyclerView.findChildViewUnder(motionEvent.getX(),motionEvent.getY());
if(child!=null && mGestureDetector.onTouchEvent(motionEvent)){
Drawer.closeDrawers();
Toast.makeText(MainActivity.this, "The Item Clicked is: " + recyclerView.getChildPosition(child), Toast.LENGTH_SHORT).show();
int pos = recyclerView.getChildPosition(child);
if(pos== 1){
Intent intent = new Intent(getApplicationContext(),About.class);
startActivity(intent);
}
return true;
}
return false;
}
@Override
public void onTouchEvent(RecyclerView recyclerView, MotionEvent motionEvent) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
});
答案 0 :(得分:0)
RecyclerView不像ListView那样处理项目选择或状态。相反,您必须在视图持有者中手动处理。
你可以做的第一件事是在你的`ViewHolder构造函数中将你的项目视图声明为可点击:
public ViewHolder(View itemView){ 超级(ItemView控件);
// Make this view clickable
itemView.setClickable(true);
// ...
}
http://www.grokkingandroid.com/statelistdrawables-for-recyclerview-selection/