新增消息-通讯录界面

This commit is contained in:
z583819556
2024-03-07 16:01:12 +08:00
parent 2c554dadef
commit a22e600b52
16 changed files with 807 additions and 5 deletions

View File

@@ -0,0 +1,5 @@
package com.yunbao.common.interfaces;
public interface OnGetItemListener<T> {
T getItems();
}

View File

@@ -0,0 +1,34 @@
package com.yunbao.common.utils;
import android.os.Parcel;
import android.os.Parcelable;
import java.util.ArrayList;
import java.util.List;
public class ListUtils {
public static <T extends Parcelable> List<T> cloneList(List<T> src) {
List<T> copiedList = new ArrayList<>();
for (T item : src) {
T copiedItem = deepCopyItem(item);
copiedList.add(copiedItem);
}
return copiedList;
}
private static <T extends Parcelable> T deepCopyItem(T item) {
Parcel parcel = Parcel.obtain();
item.writeToParcel(parcel, 0); // 将对象写入Parcel
parcel.setDataPosition(0); // 重置Parcel的位置到开头
Parcelable.Creator<T> creator= null;
try {
creator = (Parcelable.Creator<T>) item.getClass().getField("CREATOR").get(null);
} catch (Exception e) {
throw new RuntimeException(e);
}
T copiedItem = creator.createFromParcel(parcel); // 从Parcel中创建新的对象实例
parcel.recycle(); // 回收Parcel对象
return copiedItem;
}
}

View File

@@ -50,6 +50,7 @@ public class RouteUtil {
public static final String PATH_BattlePassActivity="/main/BattlePassActivity";
public static final String PATH_SudGameActivity="/live/SudGameActivity";
public static final String PATH_COMMUNITY_Activity="/main/MainHomeCommunityActivity";
public static final String PATH_ADDRESSBOOK="/main/MsgAddressBookActivity";
public static void forwardCommunityActivity() {
@@ -355,4 +356,8 @@ public class RouteUtil {
ARouter.getInstance().build(PATH_BattlePassActivity)
.navigation();
}
public static void forwardActivity(String path) {
ARouter.getInstance().build(path).navigation();
}
}