From d1ebb94e1a17b7c25d4fcf73d85345d92cc86b5c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 02 一月 2024 18:41:34 +0800 Subject: [PATCH] 2024年01月02日18:41:32 --- app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java | 78 ++++++++++++++++++++++++++++++++------ 1 files changed, 65 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java index e35dad7..205f34e 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java @@ -2,22 +2,30 @@ import androidx.recyclerview.widget.LinearLayoutManager; +import android.content.Intent; import android.os.Bundle; import android.view.View; +import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityLanguageSelectionBinding; +import com.hdl.photovoltaic.ui.StartActivity; import com.hdl.photovoltaic.ui.adapter.LanguageAdapter; +import com.hdl.photovoltaic.utils.AppManagerUtils; +import com.hdl.photovoltaic.utils.LocalManageUtil; +import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import java.util.ArrayList; import java.util.List; + +/** + * 璇█閫夋嫨鐨勭晫闈� + */ public class languageSelectionActivity extends CustomBaseActivity { - /** - * 璇█閫夋嫨鐨勭晫闈� - */ private ActivityLanguageSelectionBinding viewBinding; private LanguageAdapter languageAdapter; @@ -44,15 +52,14 @@ } private void readData() { - list = new ArrayList<>(); - LanguageAdapter.ItemData zh = new LanguageAdapter.ItemData(); - zh.setState(false); - zh.setTitle("绠�浣撲腑鏂�"); - list.add(zh); - LanguageAdapter.ItemData en = new LanguageAdapter.ItemData(); - en.setState(false); - en.setTitle("English"); - list.add(en); + list = LocalManageUtil.getLanguageList(); + for (int i = 0; i < list.size(); i++) { + LanguageAdapter.ItemData itemData = list.get(i); + if (itemData.getLanguage().equals(UserConfigManage.getInstance().getCurrentAppLanguage())) { + //鍒濆鍖栦箣鍓嶇姸鎬� + itemData.setState(true); + } + } } @@ -61,6 +68,7 @@ viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + setResult(30); finish(); } }); @@ -68,17 +76,61 @@ languageAdapter.setNoOnclickListener(new LanguageAdapter.OnclickListener() { @Override public void onClick(int position, LanguageAdapter.ItemData itemData) { + for (int i = 0; i < list.size(); i++) { LanguageAdapter.ItemData data = list.get(i); data.setState(false); } list.get(position).setState(true); languageAdapter.notifyDataSetChanged(); - + if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(itemData.getLanguage())) { + //鍚屼竴涓笉鎵ц寮圭獥 + return; + } + languageSelectionDialog(itemData); } }); + + } + + /** + * 浜屾纭鎻愮ず妗� + * + * @param itemData 閫変腑鏁版嵁 + */ + private void languageSelectionDialog(LanguageAdapter.ItemData itemData) { + ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(this); + dialog.setTitle(getString(R.string.loading_title_tip)); + dialog.setContent(getString(R.string.loading_app_restart)); + dialog.show(); + dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { + @Override + public void Confirm() { + UserConfigManage.getInstance().setCurrentAppLanguage(itemData.getLanguage()); + UserConfigManage.getInstance().Save(); + AppManagerUtils.getAppManager().finishAllActivity(); + Intent intent = new Intent(); + intent.setClass(HDLApp.getInstance(), StartActivity.class); + startActivity(intent); + } + }); + dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { + @Override + public void Cancel() { + //鍙栨秷涔嬪悗杩樺師涔嬪墠鐘舵�� + for (int i = 0; i < list.size(); i++) { + LanguageAdapter.ItemData data = list.get(i); + data.setState(false); + if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(data.getLanguage())) { + data.setState(true); + } + } + languageAdapter.notifyDataSetChanged(); + dialog.dismiss(); + } + }); } private void initView() { -- Gitblit v1.8.0