Android 側滑刪除 SwipeMenuListView

引用別人的demo地址:html

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

下面是我在項目中的實現代碼的主要片斷,主要是側滑後建立不一樣類型的按鈕及點擊後的操做。
android

一.佈局文件中使用SwipeMenuListView:json

<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中使用控件:app

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

三.MySwipeMenuCreator的實現側滑的item按鈕:ide

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中代碼:
this

@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;
}
相關文章
相關標籤/搜索