我的總體目標是能夠將一行從RecyclerView拖到我的應用程序中的另一個視圖。爲什麼我的拖放操作在RecyclerView中失敗?
使用帶有LinearLayoutmanager的標準RecyclerView,沒有額外的巨型巨型拖放操作,完美無瑕。然而,當我介紹叫AndroidSwipeLayout使每一行滑動式揭示額外的操作都失敗定製庫,我得到了普遍的錯誤:
08-28 09:59:03.465: I/ViewRootImpl(15310): Reporting drop result: false
我也可以看到,這是在炒魷魚,DragEvents我接收視圖是ACTION_DRAG_STARTED
和ACTION_DRAG_ENDED
,所有其他事件都被跳過。正如你所看到的我從ACTION_DRAG_STARTED
返回true
,但這並沒有幫助,我的想法是,自定義庫以某種方式吃我的事件。但我無法確定在哪裏。
這裏是我的OnDragListener:
private class MyDropListener implements View.OnDragListener {
@Override
public boolean onDrag(View v, DragEvent event) {
// Doing some calculations based on event x and y. Not related to the problem.
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
// Some unrelated code, updating how views are displayed
return true;
case DragEvent.ACTION_DRAG_LOCATION:
// Some unrelated code, updating how views are displayed
return true;
case DragEvent.ACTION_DROP:
// Some unrelated code, updating some data and updating how views are displayed
return true;
case DragEvent.ACTION_DRAG_ENDED:
// Some unrelated code, updating how views are displayed
return true;
case DragEvent.ACTION_DRAG_ENTERED:
// Some unrelated code, updating how views are displayed
return true;
case DragEvent.ACTION_DRAG_EXITED:
// Some unrelated code, updating how views are displayed
return true;
default:
return false;
}
}
}
現在我已經嘗試了庫內幾天,但正是我的事件死亡找不到固溶體。有時候我已經設法讓這個下降工作,但這是非常不規律的行爲。
我也做了Github的問題,對於這個問題:
AndroidSwipeLayout - issue #211
我敢肯定,這不是針對這個庫,但如果有太多的手勢檢測爲每去一個問題在列表中查看。我認爲這個圖書館非常出色,我不希望自己寫這個互動。
任何想法或意見,歡迎和讚賞。即使你不知道確切的解決方案。
謝謝。