add onItemTouchListener for recycler view
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/commit/47182e0b Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/47182e0b Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/47182e0b Branch: refs/heads/master Commit: 47182e0baa6522f604889980bd2a93b11c36e0f4 Parents: cec96be Author: Sagar <[email protected]> Authored: Tue Jul 19 00:40:04 2016 +0530 Committer: Sagar <[email protected]> Committed: Tue Jul 19 00:40:04 2016 +0530 ---------------------------------------------------------------------- .../FavouriteWorkflowsFragment.java | 46 ++++++++++++++++---- 1 file changed, 38 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/47182e0b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java index 18ff017..9dead78 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java @@ -19,11 +19,7 @@ package org.apache.taverna.mobile.ui.favouriteworkflow; -import org.apache.taverna.mobile.R; -import org.apache.taverna.mobile.data.DataManager; -import org.apache.taverna.mobile.data.model.Workflow; -import org.apache.taverna.mobile.ui.adapter.FavouriteWorkflowsAdapter; - +import android.content.Intent; import android.os.Bundle; import android.support.design.widget.Snackbar; import android.support.v4.app.Fragment; @@ -36,12 +32,20 @@ import android.view.ViewGroup; import android.widget.ProgressBar; import android.widget.TextView; +import org.apache.taverna.mobile.R; +import org.apache.taverna.mobile.data.DataManager; +import org.apache.taverna.mobile.data.model.Workflow; +import org.apache.taverna.mobile.ui.adapter.FavouriteWorkflowsAdapter; +import org.apache.taverna.mobile.ui.adapter.RecyclerItemClickListner; +import org.apache.taverna.mobile.ui.favouriteworkflowdetail.FavouriteWorkflowDetailActivity; + +import java.util.ArrayList; import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; -public class FavouriteWorkflowsFragment extends Fragment implements FavouriteWorkflowsMvpView { +public class FavouriteWorkflowsFragment extends Fragment implements FavouriteWorkflowsMvpView, RecyclerItemClickListner.OnItemClickListener { public final String LOG_TAG = getClass().getSimpleName(); @@ -53,12 +57,15 @@ public class FavouriteWorkflowsFragment extends Fragment implements FavouriteWor @BindView(R.id.error_no_workflow) TextView tvNoWorkflowError; + private DataManager dataManager; private FavouriteWorkflowsPresenter mFavouriteWorkflowsPresenter; private FavouriteWorkflowsAdapter mFavouriteWorkflowsAdapter; + private List<Workflow> mWorkflowList; + @Override public void onCreate(Bundle savedInstanceState) { @@ -67,6 +74,8 @@ public class FavouriteWorkflowsFragment extends Fragment implements FavouriteWor dataManager = new DataManager(); mFavouriteWorkflowsPresenter = new FavouriteWorkflowsPresenter(dataManager); + + mWorkflowList = new ArrayList<>(); } @Override @@ -80,12 +89,18 @@ public class FavouriteWorkflowsFragment extends Fragment implements FavouriteWor mFavouriteWorkflowsPresenter.attachView(this); + mFavouriteWorkflowsAdapter = new FavouriteWorkflowsAdapter(mWorkflowList, getContext()); + final LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); mRecyclerView.setLayoutManager(layoutManager); mRecyclerView.setItemAnimator(new DefaultItemAnimator()); mRecyclerView.hasFixedSize(); + mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListner(getActivity(), this)); + + mRecyclerView.setAdapter(mFavouriteWorkflowsAdapter); + showProgressbar(true); mFavouriteWorkflowsPresenter.loadAllWorkflow(); @@ -96,8 +111,10 @@ public class FavouriteWorkflowsFragment extends Fragment implements FavouriteWor @Override public void showProgressbar(boolean b) { if (b) { + mProgressBar.setVisibility(View.VISIBLE); } else { + mProgressBar.setVisibility(View.GONE); mRecyclerView.setVisibility(View.VISIBLE); } @@ -121,12 +138,25 @@ public class FavouriteWorkflowsFragment extends Fragment implements FavouriteWor @Override public void showWorkflows(List<Workflow> workflowList) { - mFavouriteWorkflowsAdapter = new FavouriteWorkflowsAdapter(workflowList, getContext()); - mRecyclerView.setAdapter(mFavouriteWorkflowsAdapter); + mWorkflowList.addAll(workflowList); + mFavouriteWorkflowsAdapter.notifyDataSetChanged(); } @Override public void showEmptyWorkflow() { tvNoWorkflowError.setVisibility(View.VISIBLE); } + + @Override + public void onItemClick(View childView, int position) { + Intent intent = new Intent(getActivity(), FavouriteWorkflowDetailActivity.class); + intent.putExtra("id", mWorkflowList.get(position).getId()); + intent.putExtra("title", mWorkflowList.get(position).getTitle()); + startActivity(intent); + } + + @Override + public void onItemLongPress(View childView, int position) { + + } }
