如題先上圖(畢竟是新手,GIF還是不會,敬請諒解)
image.png
image.png
image.png
image.png
image.png
image.png
產品原型:
可加載,可單條刪除,多條刪除
解決方案:
整合上拉加載下拉刷新(PullToRefreshView)+ 左滑刪除(RecyclerView+SlidingButtonView)
主要代碼:
1.刪除代碼
/**
* 刪除菜單打開信息接收
*/
@Override
public void onMenuIsOpen(View view) {
mMenu = (SlidingButtonView) view;
}
/**
* 滑動或者點擊了Item監聽
*
* @param slidingButtonView
*/
@Override
public void onDownOrMove(SlidingButtonView slidingButtonView) {
if (menuIsOpen()) {
if (mMenu != slidingButtonView) {
closeMenu();
}
}
}
/**
* 關閉菜單
*/
public void closeMenu() {
mMenu.closeMenu();
mMenu = null;
}
/**
* 判斷是否有菜單打開
*/
public Boolean menuIsOpen() {
if (mMenu != null) {
return true;
}
return false;
}
public interface IonSlidingViewClickListener {
void onItemClick(View view, int position);
void onDeleteBtnClick(View view, int position);
}
public interface RadioClickListener {
void onCheckClick(View view, boolean isCheck, int position);
}
public void selectAll() { // 全選
for (int i = 0; i < mList.size(); i++) {
map.put(i, true);
}
notifyDataSetChanged();
}
public void disSelectAll() { // 全不選
for (int i = 0; i < mList.size(); i++) {
map.put(i, false);
}
notifyDataSetChanged();
}
public void switchSelect() { // 反選
for (int i = 0; i < mList.size(); i++) {
boolean select = map.get(i);
map.put(i, !select);
}
notifyDataSetChanged();
}
public void removeData(int position) {
mList.remove(position);
notifyItemRemoved(position);
}
public void removeAllData(List<String> list1) {
mList.removeAll(list1);
notifyDataSetChanged();
}
public static int getScreenWidth(Context context) {
WindowManager wm = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics outMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
return outMetrics.widthPixels;
}}
思路雖清晰,但是難以表達,忘見諒!
項目地址:http://download.csdn.net/detail/ma_xiaopeng/9889694#