0
我有一個可通過拖放操作移動到其他表格的項目。我希望這些行可以高亮顯示,我將focusable和focusableontouchmode設置爲true,將背景設置爲list_selector_background並使行可點擊。沒有OnTouchListener選擇工作正常,但如果我將onTouchListener設置爲行,它會立即啓動拖放過程,當我點擊它時。有沒有辦法將onTouchListener的延遲設置爲可以區分單擊和拖放過程的開始? (所以你一定要挺住該行的點擊開始拖動)使用OnTouchListener進行拖放操作時設置延遲
的OnTouchListener:
private final class MyTouchListener implements OnTouchListener {
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
ClipData data = ClipData.newPlainText("", "");
DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(
view);
view.startDrag(data, shadowBuilder, view, 0);
view.setVisibility(View.INVISIBLE);
return true;
} else {
return false;
}
}
}
該行:
teacherRow.setId(tid);
teacherRow.setBackgroundResource(drawable.list_selector_background);
teacherRow.setFocusable(true);
teacherRow.setFocusableInTouchMode(true);
teacherRow.setClickable(true);
teacherRow.setOnTouchListener(new MyTouchListener());
我也試圖與一個OnClickListener來解決它行,但沒有工作要麼
你應該提供一些你的代碼。這將有所幫助。 – abc667 2013-02-23 18:43:17
已添加touch listnener代碼 – knigge 2013-02-23 18:56:55