193 lines
6.5 KiB
Java
193 lines
6.5 KiB
Java
package com.example.modulevocal.fragment;
|
|
|
|
import android.annotation.SuppressLint;
|
|
import android.app.AlertDialog;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.recyclerview.widget.GridLayoutManager;
|
|
|
|
import android.text.TextUtils;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.widget.EditText;
|
|
import android.widget.TextView;
|
|
import android.widget.Toast;
|
|
|
|
import com.alibaba.android.arouter.launcher.ARouter;
|
|
import com.chad.library.adapter.base.BaseQuickAdapter;
|
|
import com.example.modulevocal.R;
|
|
import com.example.modulevocal.activity.CreateAlbumActivity;
|
|
import com.example.modulevocal.adapter.MyAlbumListAdapter;
|
|
import com.example.modulevocal.conacts.MyAlbumConacts;
|
|
import com.example.modulevocal.databinding.FragmentMyAlbumBinding;
|
|
import com.example.modulevocal.presenter.MyAlbumPresenter;
|
|
import com.xscm.moduleutil.base.BaseMvpFragment;
|
|
import com.xscm.moduleutil.bean.AlbumBean;
|
|
import com.xscm.moduleutil.utils.ARouteConstants;
|
|
import com.xscm.moduleutil.utils.SpUtil;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* @author qx
|
|
* @data 2025/5/29
|
|
* @description: 我的相册
|
|
*/
|
|
public class MyAlbumFragment extends BaseMvpFragment<MyAlbumPresenter, FragmentMyAlbumBinding> implements MyAlbumConacts.View {
|
|
|
|
private MyAlbumListAdapter mAdapter;
|
|
private String userId;
|
|
|
|
public static MyAlbumFragment newInstance(String userId) {
|
|
MyAlbumFragment fragment = new MyAlbumFragment();
|
|
Bundle bundle = new Bundle();
|
|
bundle.putString("userId", userId);
|
|
fragment.setArguments(bundle);
|
|
return fragment;
|
|
}
|
|
|
|
@Override
|
|
public void onAttach(@NonNull Context context) {
|
|
super.onAttach(context);
|
|
userId = getArguments().getString("userId");
|
|
}
|
|
|
|
@Override
|
|
protected MyAlbumPresenter bindPresenter() {
|
|
return new MyAlbumPresenter(this, getActivity());
|
|
}
|
|
|
|
|
|
@Override
|
|
protected void initData() {
|
|
MvpPre.getAlbumList("1", "10", userId);
|
|
}
|
|
|
|
@Override
|
|
protected void initView() {
|
|
|
|
mAdapter = new MyAlbumListAdapter();
|
|
mBinding.dyImageRecyc.setLayoutManager(new GridLayoutManager(getActivity(), 2));
|
|
mBinding.dyImageRecyc.setAdapter(mAdapter);
|
|
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
|
|
@Override
|
|
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
|
|
AlbumBean item = mAdapter.getItem(position);
|
|
if ("0".equals(item.getId())) {
|
|
startActivity(new Intent(getActivity(), CreateAlbumActivity.class));
|
|
} else {
|
|
if (!TextUtils.isEmpty(item.getPwd())) {
|
|
if (userId.equals(SpUtil.getUserId() + "")) {
|
|
onPasswordCorrect(item);
|
|
} else {
|
|
showPasswordInputDialog(item);
|
|
}
|
|
} else {
|
|
ARouter.getInstance().build(ARouteConstants.USER_ALBUM_DETAIL).withString("albumId", item.getId()).withString("pwd", item.getPwd()).withString("target_fragment", ARouteConstants.FRAGMENT_ALBUM).navigation();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
List<AlbumBean> list = new ArrayList<>();
|
|
if (userId.equals(SpUtil.getUserId() + "")) {
|
|
AlbumBean albumBean = new AlbumBean();
|
|
albumBean.setId("0");
|
|
list.add(albumBean);
|
|
mAdapter.setNewData(list);
|
|
}
|
|
}
|
|
|
|
@SuppressLint({"MissingInflatedId", "LocalSuppress"})
|
|
private void showPasswordInputDialog(AlbumBean item) {
|
|
// 创建弹出框视图
|
|
View dialogView = LayoutInflater.from(getActivity()).inflate(com.xscm.moduleutil.R.layout.dialog_input_password, null);
|
|
|
|
// 获取弹出框中的控件
|
|
final EditText etPassword = dialogView.findViewById(com.xscm.moduleutil.R.id.ed_album_password);
|
|
TextView btnCancel = dialogView.findViewById(com.xscm.moduleutil.R.id.tv_cancel);
|
|
TextView btnConfirm = dialogView.findViewById(com.xscm.moduleutil.R.id.tv_confirm);
|
|
|
|
// 创建并显示弹出框
|
|
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
|
builder.setView(dialogView);
|
|
final AlertDialog alertDialog = builder.create();
|
|
alertDialog.show();
|
|
|
|
// 取消按钮点击事件
|
|
btnCancel.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
alertDialog.dismiss();
|
|
}
|
|
});
|
|
|
|
// 确认按钮点击事件
|
|
btnConfirm.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
String password = etPassword.getText().toString().trim();
|
|
if (!TextUtils.isEmpty(password)) {
|
|
// 验证密码(这里只是一个示例,实际应调用相应的方法验证密码)
|
|
if (item.getPwd().equals(password)) {
|
|
alertDialog.dismiss();
|
|
// 密码正确后的操作
|
|
onPasswordCorrect(item);
|
|
} else {
|
|
Toast.makeText(getActivity(), "密码错误", Toast.LENGTH_SHORT).show();
|
|
}
|
|
} else {
|
|
Toast.makeText(getActivity(), "请输入密码", Toast.LENGTH_SHORT).show();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
// 密码正确后的操作方法(示例)
|
|
private void onPasswordCorrect(AlbumBean item) {
|
|
// 密码正确后的具体操作
|
|
ARouter.getInstance().build(ARouteConstants.USER_ALBUM_DETAIL).withString("albumId", item.getId()).withString("pwd", item.getPwd()).navigation();
|
|
}
|
|
|
|
@Override
|
|
protected int getLayoutId() {
|
|
return R.layout.fragment_my_album;
|
|
}
|
|
|
|
@Override
|
|
public void getAlbumList(List<AlbumBean> data) {
|
|
if (data == null) {
|
|
data = new ArrayList<>();
|
|
}
|
|
if (userId.equals(SpUtil.getUserId() + "")) {
|
|
AlbumBean albumBean = new AlbumBean();
|
|
albumBean.setId("0");
|
|
data.add(0, albumBean);
|
|
}
|
|
mAdapter.setNewData(data);
|
|
}
|
|
|
|
@Override
|
|
public void upLoadSuccess(String url, int type) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void sendCodeSuccess() {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void deleteAlbum() {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void editAlbum() {
|
|
|
|
}
|
|
} |