Android 侧滑删除 SwipeMenuListView

引用别人的demo地址:

http://www.jcodecraeer.com/a/opensource/2014/1015/1777.html

下面是我在项目中的实现代码的主要片段,主要是侧滑后创建不同类型的按钮及点击后的操作。

一.布局文件中使用SwipeMenuListView:

<com.ly.sxh.swipemenulistview.SwipeMenuListView
    android:id="@+id/listview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@id/layout_bottom"
    android:layout_below="@id/tvCreateRoom"
    android:layout_margin="10dp"
    android:dividerHeight="10dp" />

二.Activity中使用控件:

SwipeMenuListView listView = (SwipeMenuListView) findViewById(R.id.listview);
listView.setMenuCreator(new MySwipeMenuCreator());
listView.setOnItemClickListener(this);
listView.setOnMenuItemClickListener(this);

三.MySwipeMenuCreator的实现侧滑的item按钮:

public class MySwipeMenuCreator implements SwipeMenuCreator {

    @Override
    public void create(SwipeMenu menu) {
        createMenu(menu);
    }

    private void createMenu(SwipeMenu menu) {
        // menu.getViewType() 用来区分创建那种类型的按钮
        String title = (menu.getViewType() == 0) ? "解散" : "退出";
        SwipeMenuItem openItem = new SwipeMenuItem(getApplicationContext());
        openItem.setBackground(new ColorDrawable(Color.rgb(0xC9, 0xC9, 0xCE)));
        openItem.setWidth(240);
        openItem.setTitle(title);
        openItem.setTitleSize(18);
        openItem.setTitleColor(Color.WHITE);
        menu.addMenuItem(openItem);
    }
}

四.侧滑后item中的按钮点击事件:

@Override
public void onMenuItemClick(int position, SwipeMenu menu, int index) {
    // TODO 点击后的操作
}

五.Adapter中代码:

@Override
public int getViewTypeCount() {
    return 2; // 创建按钮的类型总数
}

@Override
public int getItemViewType(int position) {
    int type = 0; // 根据type来区分创建按钮的类型
    try {
        JSONObject json = jray.getJSONObject(position);
        type = json.getString("createId").equals(app.userid) ? 0 : 1;
    } catch (Exception e) {
        Log.e(TAG, e.toString());
    }
    return type;
}


你可能感兴趣的:(侧滑删除,Android_UI)