未触发触摸和滑动事件
问题描述:
我在下面的代码中设置了一个点击侦听器,但滑动和磁带事件处理程序没有被调用。任何想法为什么?未触发触摸和滑动事件
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = (RecyclerView) findViewById(R.id.view);
getOverflowMenu();
android.support.v4.app.LoaderManager loaderManager =
getSupportLoaderManager();
android.support.v4.content.Loader<Cursor> loader =
loaderManager.getLoader(loader_id);
if (loader != null)
loaderManager.initLoader(loader_id, null, this);
else
loaderManager.restartLoader(loader_id,null,this);
recyclerView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"touched",Toast.LENGTH_SHORT).show();;
}
});
new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
Toast.makeText(getApplicationContext(),"moved",Toast.LENGTH_SHORT).show();
return true;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int swipeDir) {
long id = (long) viewHolder.itemView.getTag();
remove(id);
}
});
}
答
试试这个与循环意见活动(像主也许)
private RecyclerView recyclerView;
ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
int position = viewHolder.getAdapterPosition();
if (direction == ItemTouchHelper.RIGHT){
Toast.makeText(MainActivity.this, "swiped left", Toast.LENGTH_SHORT).show();
//do something awsome
} else {
Toast.makeText(MainActivity.this, "swiped right", Toast.LENGTH_SHORT).show();
//do something awesomer
}
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleItemTouchCallback);
itemTouchHelper.attachToRecyclerView(recyclerView);
}
+0
我试过了,但没有奏效 –
'完成(11)' - 这是家庭作业吗? –
你需要更加努力地思考你要求人们为你做些什么。如果你在这里需要帮助,请很好地格式化你的代码。删除不必要的评论,使*易*阅读。不要包含比展示问题所需的代码更多的代码,并要求提供非常清晰易懂的问题,并对其进行智能地陈述。 – clearlight