package com.codeest.geeknews.ui.gold.activity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; import android.support.v7.widget.helper.ItemTouchHelper; import com.codeest.geeknews.R; import com.codeest.geeknews.app.Constants; import com.codeest.geeknews.base.SimpleActivity; import com.codeest.geeknews.component.RxBus; import com.codeest.geeknews.model.bean.GoldManagerBean; import com.codeest.geeknews.model.bean.GoldManagerItemBean; import com.codeest.geeknews.ui.gold.adapter.GoldManagerAdapter; import com.codeest.geeknews.widget.DefaultItemTouchHelpCallback; import java.util.Collections; import butterknife.BindView; import io.realm.RealmList; /** * Created by codeest on 16/11/27. */ public class GoldManagerActivity extends SimpleActivity { @BindView(R.id.tool_bar) Toolbar toolBar; @BindView(R.id.rv_gold_manager_list) RecyclerView rvGoldManagerList; RealmList<GoldManagerItemBean> mList; GoldManagerAdapter mAdapter; DefaultItemTouchHelpCallback mCallback; @Override protected int getLayout() { return R.layout.activity_gold_manager; } @Override protected void initEventAndData() { setToolBar(toolBar, "首页特别展示"); mList = ((GoldManagerBean) getIntent().getParcelableExtra(Constants.IT_GOLD_MANAGER)).getManagerList(); mAdapter = new GoldManagerAdapter(mContext, mList); rvGoldManagerList.setLayoutManager(new LinearLayoutManager(mContext)); rvGoldManagerList.setAdapter(mAdapter); mCallback = new DefaultItemTouchHelpCallback(new DefaultItemTouchHelpCallback.OnItemTouchCallbackListener() { @Override public void onSwiped(int adapterPosition) { } @Override public boolean onMove(int srcPosition, int targetPosition) { if (mList != null) { Collections.swap(mList, srcPosition, targetPosition); mAdapter.notifyItemMoved(srcPosition, targetPosition); return true; } return false; } }); mCallback.setDragEnable(true); mCallback.setSwipeEnable(false); ItemTouchHelper itemTouchHelper = new ItemTouchHelper(mCallback); itemTouchHelper.attachToRecyclerView(rvGoldManagerList); } @Override protected void onDestroy() { super.onDestroy(); RxBus.getDefault().post(new GoldManagerBean(mList)); } }