mac
2023-12-06 d830fef6a2bc2ab061e6ac2b423c4a49dda3cf21
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,52 @@
        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() {
                dialog.dismiss();
            }
        });
    }
    private void initView() {