Android list view swipe right to reveal button

Viewed 3588

I wanted to achieve something like swipe right to reveal the button on each list view row in Android development.

I have a fully working list view which fetch and populate the data dynamically:

public class ProfilePastEvent extends Fragment{
View pastEventView;
Context context;
private ListView listview;
private ListAdapter mAdapter;
public ArrayList<Event> _eventlist = new ArrayList<Event>();
EventController eventCtrl = new EventController();

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    listview = (ListView) pastEventView
            .findViewById(R.id.pastEventListview);

    mAdapter = new ListAdapter(getActivity());
    listview.setAdapter(mAdapter);

    listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View item,
                int position, long id) {

    });
    return pastEventView;
}

private class ListAdapter extends BaseAdapter {
    LayoutInflater inflater;
    ViewHolder viewHolder;

    public ListAdapter(Context context) {
        inflater = LayoutInflater.from(context);
    }

    public int getCount() {
        return _eventlist.size();
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {

            convertView = inflater.inflate(
                    R.layout.profile_past_listview_row, null);
            viewHolder = new ViewHolder();

            viewHolder.txt_dpastEventName = (TextView) convertView
                    .findViewById(R.id.txtPastEventName);


            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }

        viewHolder.txt_dpastEventName.setText(_eventlist.get(position)
                .getEventName().trim());


        return convertView;
    }
}

private class ViewHolder {
    TextView txt_dpastEventName;
}
}

However, this list view works like user click on certain row to open up a new intent. How can I implement the swipe right to reveal 'View more' or 'Delete' button feature?

3 Answers
Related