2015-11-02 3 views
5

Я создал 2 Горизонтальный recycleView. Это прекрасно работает. Мне нужна функциональность перетаскивания между элементом внутри каждого recycleView, а также перетаскивание между этими двумя элементами recycleView. То, что я до сих пор в настоящее время -Перетаскивание между двумя видами обработки

private RecyclerView mRecyclerViewCompletedTask; 
private RecyclerView.Adapter mAdapterCompletedTask; 
private RecyclerView.LayoutManager mLayoutManagerCompletedTask; 
private static String LOG_TAG = "RecyclerViewActivity"; 
private RecyclerView mRecyclerViewInCompleteTask; 
private RecyclerView.Adapter mAdapterInCompleteTask; 
private RecyclerView.LayoutManager mLayoutManagerInCompleteTask; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main2); 

    mRecyclerViewCompletedTask = (RecyclerView) findViewById(R.id.my_recycler_view_completed_task); 
    mRecyclerViewCompletedTask.setHasFixedSize(true); 
    mLayoutManagerCompletedTask = new LinearLayoutManager(this); 
    mRecyclerViewCompletedTask.setLayoutManager(mLayoutManagerCompletedTask); 
    mAdapterCompletedTask = new MyRecyclerViewAdapterCompletedTask(getDataSet()); 
    mRecyclerViewCompletedTask.setAdapter(mAdapterCompletedTask); 
    LinearLayoutManager layoutManager1 = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false); 
    mRecyclerViewCompletedTask.setLayoutManager(layoutManager1); 

    mRecyclerViewInCompleteTask = (RecyclerView) findViewById(R.id.my_recycler_view_incomplete_task); 
    mRecyclerViewInCompleteTask.setHasFixedSize(true); 
    mLayoutManagerInCompleteTask = new LinearLayoutManager(this); 
    mRecyclerViewInCompleteTask.setLayoutManager(mLayoutManagerInCompleteTask); 
    mAdapterInCompleteTask = new MyRecyclerViewAdapterInCompleteTask(getDataSet()); 
    mRecyclerViewInCompleteTask.setAdapter(mAdapterInCompleteTask); 
    LinearLayoutManager layoutManager2 = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false); 
    mRecyclerViewInCompleteTask.setLayoutManager(layoutManager2); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 
    ((MyRecyclerViewAdapterCompletedTask) mAdapterCompletedTask).setOnItemClickListener(new MyRecyclerViewAdapterCompletedTask.MyClickListener() { 
     @Override 
     public void onItemClick(int position, View v) { 
      Log.i(LOG_TAG, " Clicked on Item " + position); 
     } 
    }); 
    ((MyRecyclerViewAdapterInCompleteTask) mAdapterInCompleteTask).setOnItemClickListener(new MyRecyclerViewAdapterInCompleteTask.MyClickListener() { 
     @Override 
     public void onItemClick(int position, View v) { 
      Log.i(LOG_TAG, " Clicked on Item " + position); 
     } 
    }); 
} 

private ArrayList<DataObject> getDataSet() { 
    ArrayList results = new ArrayList<DataObject>(); 
    for (int index = 0; index < 20; index++) { 
     DataObject obj = new DataObject("Some Primary Text " + index, 
       "Secondary " + index); 
     results.add(index, obj); 
    } 
    return results; 
} 

Customized эту библиотеку и получил то, что я хочу. Ссылка - https://github.com/woxblom/DragListView

+0

Вы нашли решение? – android

+0

Обновлен мой вопрос. Если вам нравится upvote me – Anirban

+0

Можете ли вы описать, что вы изменили в библиотеке? –

ответ

0

Настроить эту библиотеку и получить то, что я хочу. Ссылка - https://github.com/woxblom/DragListView

Что я обновил -

Как вы можете видеть, что это вертикальное использование recyclerView менеджер компоновки, так что вы можете сделать это Препояшь или горизонтальная recylerView. В моем случае у меня есть 2 recyclerView и 1 GridView. Также отрегулированы некоторые дополнения и макет.

3

Если вас интересует простое решение see my code on GitHub. Это показывает, как Drag and Drop между двумя RecyclerView s.

Смежные вопросы