ListView侧滑删除(SwipeMenuListView)

来源:互联网 发布:注册表清理软件 编辑:程序博客网 时间:2024/04/30 18:34
package com.example.slide_delete;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Context;import android.graphics.Color;import android.graphics.drawable.ColorDrawable;import android.os.Bundle;import android.util.TypedValue;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.ListView;import android.widget.Toast;import com.example.slide_delete.listview.SwipeMenu;import com.example.slide_delete.listview.SwipeMenuCreator;import com.example.slide_delete.listview.SwipeMenuItem;import com.example.slide_delete.listview.SwipeMenuListView;import com.example.slide_delete_listviewdemo.R;public class MainActivity extends Activity {Context context;private SwipeMenuListView listView;private List<String> list = null;private NewsListAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);listView = (SwipeMenuListView) findViewById(R.id.listView);listView.setMenuCreator(creator);listView.setOnMenuItemClickListener(new com.example.slide_delete.listview.SwipeMenuListView.OnMenuItemClickListener() {@Overridepublic void onMenuItemClick(int position, SwipeMenu menu, int index) {switch (index) {case 0:list.remove(position);adapter.notifyDataSetChanged();break;case 1:break;}}});list = new ArrayList<String>();for (int i = 0; i < 10; i++) {list.add("选项" + i);}// 实例化自定义内容适配类adapter = new NewsListAdapter(this, list);// 为listView设置适配listView.setAdapter(adapter);}SwipeMenuCreator creator = new SwipeMenuCreator() {@Overridepublic void create(SwipeMenu menu) {// create "delete" itemSwipeMenuItem deleteItem = new SwipeMenuItem(getApplicationContext());// set item backgrounddeleteItem.setBackground(new ColorDrawable(Color.rgb(0xF9, 0x3F,0x25)));// set item widthdeleteItem.setWidth(dp2px(90));// set a icondeleteItem.setIcon(R.drawable.content_discard2);// add to menumenu.addMenuItem(deleteItem);}};/** * 位移 *  * @param dp * @return */private int dp2px(int dp) {return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,getResources().getDisplayMetrics());}}布局:<com.example.slide_delete.listview.SwipeMenuListView        android:id="@+id/listView"        android:layout_width="wrap_content"        android:layout_height="wrap_content" >    </com.example.slide_delete.listview.SwipeMenuListView>

0 0
原创粉丝点击