public class SectorListView extends BaseActivity implements SectorListContract.View { private static final int REQUEST_SECTOR = 1; private SectorListPresenter presenter; private RecyclerView recyclerView; private SectorAdapter adapter; private Toolbar toolbar; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sector_list); recyclerView = findViewById(R.id.recicler); // click y long click View.OnClickListener mOnClickListener = new View.OnClickListener() { @Override public void onClick(View v) { Log.e("EDU", "se ha hecho un click"); showManageActivity(adapter.getItem(recyclerView.getChildAdapterPosition(v))); Snackbar.make(v, "pressed: " + adapter.getItem(recyclerView.getChildAdapterPosition(v)).getName(), Snackbar.LENGTH_SHORT).show(); } }; View.OnLongClickListener mOnLongClickListener = new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { Log.e("EDU", "se ha hecho un long click"); showDeletedDialog(adapter.getItem(recyclerView.getChildAdapterPosition(v))); // Snackbar.make(v, "long pressed: " + adapter.getItem(recyclerView.getChildAdapterPosition(v)).getName(), Snackbar.LENGTH_LONG).show(); return true; } }; // Tool Bar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); // recycler view adapter = new SectorAdapter(this); adapter.setOnClickListener(mOnClickListener); recyclerView.setAdapter(adapter); recyclerView.setLayoutManager(new LinearLayoutManager(this)); // load data presenter = new SectorListPresenter(this); presenter.loadSectors(); } @Override public void showSectors(ArrayList sectorList) { adapter.clear(); sectorList.sort((x,y)->x.getDescription().compareTo(y.getDescription())); // esto es solo pa ordenar adapter.addAll(sectorList); adapter.notifyDataSetChanged(); } /** * This method will show a Dialog without DialogFragment * We will use AlertDialog.Builder * * @param item */ private void showDeletedDialog(final Sector item) { DialogInterface.OnClickListener dialogListener = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case DialogInterface.BUTTON_POSITIVE: presenter.delete(item); break; case DialogInterface.BUTTON_NEGATIVE: dialog.dismiss(); break; } } }; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(getResources().getString(R.string.alert_dialog_delete, item.getName())); builder.setPositiveButton(R.string.btnOk, dialogListener); builder.setNegativeButton(R.string.btnDismiss, dialogListener); builder.show(); } private void showManageActivity(Sector item) { Intent intent = new Intent(this, SectorManageActivity.class); if (item!=null) intent.putExtra(item.KEY, item); startActivityForResult(intent, REQUEST_SECTOR); } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); // Sector sector = (Sector) data.getSerializableExtra(Sector.KEY); } }