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;
@Override
protected 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() {
@Override
public 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() {
@Override
public void create(SwipeMenu menu) {
// create "delete" item
SwipeMenuItem deleteItem = new SwipeMenuItem(
getApplicationContext());
// set item background
deleteItem.setBackground(new ColorDrawable(Color.rgb(0xF9, 0x3F,
0x25)));
// set item width
deleteItem.setWidth(dp2px(90));
// set a icon
deleteItem.setIcon(R.drawable.content_discard2);
// add to menu
menu.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>
ListView侧滑删除(SwipeMenuListView)
最新推荐文章于 2019-07-08 15:06:09 发布