@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_scramble_adapter_example); mRecyclerView = (RecyclerView) findViewById(R.id.recycler); new SimpleStringViewHolderFactory(), new SimpleNumberViewHolderFactory(), new CodeLableViewHolderFactory(getResources()) ); mRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
@Override public void onClick(@NonNull RecyclerView recyclerView, @NonNull ScrambleAdapter adapter, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { if (viewHolder instanceof SimpleStringViewHolderFactory.ViewHolder) { String item = (String) adapter.getItemAt(viewHolder.getAdapterPosition()); mSnackbarLogic.make(viewHolder.itemView, "String " + item + " is clicked.", Snackbar.LENGTH_SHORT).show(); } else if (viewHolder instanceof SimpleNumberViewHolderFactory.ViewHolder) { Number item = (Number) adapter.getItemAt(viewHolder.getAdapterPosition()); mSnackbarLogic.make(viewHolder.itemView, "Number " + item + " is clicked.", Snackbar.LENGTH_SHORT).show(); } else if (viewHolder instanceof CodeLableViewHolderFactory.ViewHolder) { OrdinalLabel item = (OrdinalLabel) adapter.getItemAt(viewHolder.getAdapterPosition()); String text = item.getLabel(getResources()) + "(" + item.getCode() + ")"; if (view.getId() == R.id.text_code) { mSnackbarLogic.make(viewHolder.itemView, "The code of " + text + " is clicked.", Snackbar.LENGTH_SHORT).show(); } else if (view.getId() == R.id.text_label) { mSnackbarLogic.make(viewHolder.itemView, "The label of " + text + " is clicked.", Snackbar.LENGTH_SHORT).show(); } } } }
@Override public boolean onLongClick(@NonNull RecyclerView recyclerView, @NonNull ScrambleAdapter adapter, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull View view) { if (recyclerView.getId() == R.id.recycler) { if (viewHolder instanceof SimpleStringViewHolderFactory.ViewHolder) { String item = (String) adapter.getItemAt(viewHolder.getAdapterPosition()); mSnackbarLogic.make(view, "String " + item + " is long clicked.", Snackbar.LENGTH_SHORT).show(); } else if (viewHolder instanceof SimpleNumberViewHolderFactory.ViewHolder) { Number item = (Number) adapter.getItemAt(viewHolder.getAdapterPosition()); mSnackbarLogic.make(view, "Number " + item + " is long clicked.", Snackbar.LENGTH_SHORT).show(); } else if (viewHolder instanceof CodeLableViewHolderFactory.ViewHolder) { OrdinalLabel item = (OrdinalLabel) adapter.getItemAt(viewHolder.getAdapterPosition()); String text = item.getLabel(getResources()) + "(" + item.getCode() + ")"; if (view.getId() == R.id.text_code) { mSnackbarLogic.make(view, "The code of " + text + " is long clicked.", Snackbar.LENGTH_SHORT).show(); } else if (view.getId() == R.id.text_label) { mSnackbarLogic.make(view, "The label of " + text + " is long clicked.", Snackbar.LENGTH_SHORT).show(); } } return true; } return false; } };
onView(withIdInRecyclerView(R.id.text_code, R.id.recycler, entry.index)).perform(click()); Resources res = mActivity.getResources(); verify(mActivity.mSnackbarLogic).make( any(View.class), onView(withIdInRecyclerView(R.id.text_label, R.id.recycler, entry.index)).perform(click()); Resources res = mActivity.getResources(); verify(mActivity.mSnackbarLogic).make( any(View.class),