use of android.support.v7.widget.helper.ItemTouchHelper.SimpleCallback in project TrekAdvisor by peterLaurence.
the class TracksManageFragment method generateTracks.
private void generateTracks(Map map) {
Context ctx = getContext();
RecyclerView recyclerView = new RecyclerView(ctx);
recyclerView.setHasFixedSize(false);
/* All cards are laid out vertically */
LinearLayoutManager llm = new LinearLayoutManager(ctx);
recyclerView.setLayoutManager(llm);
/* Apply item decoration (add an horizontal divider) */
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(ctx, DividerItemDecoration.VERTICAL);
Drawable divider = this.getContext().getDrawable(R.drawable.divider);
if (divider != null) {
dividerItemDecoration.setDrawable(divider);
}
recyclerView.addItemDecoration(dividerItemDecoration);
mTrackAdapter = new TrackAdapter(map, this, ctx.getColor(R.color.colorAccent), ctx.getColor(R.color.colorPrimaryTextWhite), ctx.getColor(R.color.colorPrimaryTextBlack));
recyclerView.setAdapter(mTrackAdapter);
/* Swipe to dismiss functionality */
ItemTouchHelper.SimpleCallback simpleCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
/* Remove the track from the list and from the map */
mTrackAdapter.removeItem(viewHolder.getAdapterPosition());
/* Update the view */
if (mTrackChangeListener != null) {
mTrackChangeListener.onTrackVisibilityChanged();
}
/* Save */
saveChanges();
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleCallback);
itemTouchHelper.attachToRecyclerView(recyclerView);
rootView.addView(recyclerView, 0);
}
use of android.support.v7.widget.helper.ItemTouchHelper.SimpleCallback in project nextcloud-notes by stefan-niedermann.
the class NotesListViewActivity method initList.
public void initList() {
adapter = new ItemAdapter(this);
RecyclerView listView = findViewById(R.id.recycler_view);
listView.setAdapter(adapter);
listView.setLayoutManager(new LinearLayoutManager(this));
ItemTouchHelper touchHelper = new ItemTouchHelper(new SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
/**
* Disable swipe on sections
*
* @param recyclerView RecyclerView
* @param viewHolder RecyclerView.ViewHoler
* @return 0 if section, otherwise super()
*/
@Override
public int getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
if (viewHolder instanceof ItemAdapter.SectionViewHolder)
return 0;
return super.getSwipeDirs(recyclerView, viewHolder);
}
/**
* Delete note if note is swiped to left or right
*
* @param viewHolder RecyclerView.ViewHoler
* @param direction int
*/
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
if (direction == ItemTouchHelper.LEFT || direction == ItemTouchHelper.RIGHT) {
final DBNote dbNote = (DBNote) adapter.getItem(viewHolder.getAdapterPosition());
db.deleteNoteAndSync((dbNote).getId());
adapter.remove(dbNote);
refreshLists();
Log.v("Note", "Item deleted through swipe ----------------------------------------------");
Snackbar.make(swipeRefreshLayout, R.string.action_note_deleted, Snackbar.LENGTH_LONG).setAction(R.string.action_undo, new View.OnClickListener() {
@Override
public void onClick(View v) {
db.addNoteAndSync(dbNote);
refreshLists();
Snackbar.make(swipeRefreshLayout, R.string.action_note_restored, Snackbar.LENGTH_SHORT).show();
}
}).show();
}
}
@Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
ItemAdapter.NoteViewHolder noteViewHolder = (ItemAdapter.NoteViewHolder) viewHolder;
// show delete icon on the right side
noteViewHolder.showSwipeDelete(dX > 0);
// move only swipeable part of item (not leave-behind)
getDefaultUIUtil().onDraw(c, recyclerView, noteViewHolder.noteSwipeable, dX, dY, actionState, isCurrentlyActive);
}
@Override
public void clearView(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
getDefaultUIUtil().clearView(((ItemAdapter.NoteViewHolder) viewHolder).noteSwipeable);
}
});
touchHelper.attachToRecyclerView(listView);
}
use of android.support.v7.widget.helper.ItemTouchHelper.SimpleCallback in project haven by guardianproject.
the class EventActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_event);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
StrictMode.setVmPolicy(StrictMode.VmPolicy.LAX);
long eventId = getIntent().getLongExtra("eventid", -1);
if (eventId != -1) {
mEvent = Event.findById(Event.class, eventId);
mRecyclerView = findViewById(R.id.event_trigger_list);
setTitle(mEvent.getStartTime().toLocaleString());
mAdapter = new EventTriggerAdapter(this, mEvent.getEventTriggers());
LinearLayoutManager llm = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(llm);
mRecyclerView.setAdapter(mAdapter);
FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
shareEvent();
}
});
// Handling swipe to delete
ItemTouchHelper.SimpleCallback simpleCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
// Remove swiped item from list and notify the RecyclerView
final int position = viewHolder.getAdapterPosition();
final EventTrigger eventTrigger = mEvent.getEventTriggers().get(viewHolder.getAdapterPosition());
deleteEventTrigger(eventTrigger, position);
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleCallback);
itemTouchHelper.attachToRecyclerView(mRecyclerView);
} else
finish();
}
use of android.support.v7.widget.helper.ItemTouchHelper.SimpleCallback in project haven by guardianproject.
the class ListActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
Log.d("Main", "onCreate");
preferences = new PreferenceManager(this.getApplicationContext());
recyclerView = findViewById(R.id.main_list);
fab = findViewById(R.id.fab);
toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
LinearLayoutManager llm = new LinearLayoutManager(this);
recyclerView.setLayoutManager(llm);
if (savedInstanceState != null)
modifyPos = savedInstanceState.getInt("modify");
// Handling swipe to delete
ItemTouchHelper.SimpleCallback simpleCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
// Remove swiped item from list and notify the RecyclerView
final int position = viewHolder.getAdapterPosition();
final Event event = events.get(viewHolder.getAdapterPosition());
deleteEvent(event, position);
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleCallback);
itemTouchHelper.attachToRecyclerView(recyclerView);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
Drawable drawable = ContextCompat.getDrawable(this, R.drawable.ic_play_arrow);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, Color.WHITE);
DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_IN);
fab.setImageDrawable(drawable);
}
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(ListActivity.this, MonitorActivity.class);
startActivity(i);
}
});
if (preferences.isFirstLaunch()) {
showOnboarding();
}
try {
events = Event.listAll(Event.class, "id DESC");
if (events.size() > 0) {
findViewById(R.id.empty_view).setVisibility(View.GONE);
}
adapter = new EventAdapter(ListActivity.this, events);
recyclerView.setVisibility(View.VISIBLE);
recyclerView.setAdapter(adapter);
adapter.SetOnItemClickListener(new EventAdapter.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Intent i = new Intent(ListActivity.this, EventActivity.class);
i.putExtra("eventid", events.get(position).getId());
modifyPos = position;
startActivity(i);
}
});
} catch (SQLiteException sqe) {
Log.d(getClass().getName(), "database not yet initiatied", sqe);
}
}
Aggregations