18034727885
2026-07-09 c26d344da4c54ad8456a2dc145cde0b424722f0e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package com.driver.igotrip.ui.mine.setting
 
import android.widget.TextView
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.setDrawableNull
import cn.sinata.xldutils.utils.setDrawableRight
import com.driver.igotrip.R
import com.driver.igotrip.base.Const
import com.driver.igotrip.base.MyBaseActivity
import com.driver.igotrip.netUtls.Api
import com.driver.igotrip.netUtls.callNet
import com.driver.igotrip.netUtls.getMapByAny
import com.driver.igotrip.ui.DialogUtil
import com.driver.igotrip.utils.LanguageSP
import com.driver.igotrip.utils.LanguageSP.LanguageConst
import com.driver.igotrip.utils.LanguageSP.LanguageConst.EN_US
import com.driver.igotrip.utils.LanguageSP.LanguageConst.FR_FR
import com.driver.igotrip.utils.LanguageSP.LanguageConst.ZH_CN
import com.driver.igotrip.utils.LanguageUtil
import org.jetbrains.anko.find
 
 
class LanghActivity : MyBaseActivity() {
 
    override fun setContentView() {
        setContentView(R.layout.activity_langh)
    }
 
    override fun initView() {
        setTitleText(getString(R.string.多语言))
        setLangh()
    }
 
    private val tv_china by lazy { find<TextView>(R.id.tv_china) }
    private val tv_en by lazy { find<TextView>(R.id.tv_en) }
    private val tv_fr by lazy { find<TextView>(R.id.tv_fr) }
 
 
    override fun setOnclick() {
        tv_china.clickDelay {
            DialogUtil.getDelAndSureDialog(this, getString(R.string.确定切换语言吗), {}) {
                // 保存新语言到 SP
                LanguageSP.saveLanguage(this, LanguageConst.ZH_CN)
                changeServerLanguage {
                    LanguageUtil.reApp(this)
                }
 
            }
        }
 
        tv_en.clickDelay {
            DialogUtil.getDelAndSureDialog(this, getString(R.string.确定切换语言吗), {}) {
                LanguageSP.saveLanguage(this, LanguageConst.EN_US)
                changeServerLanguage {
                    LanguageUtil.reApp(this)
                }
            }
        }
 
        tv_fr.clickDelay {
            DialogUtil.getDelAndSureDialog(this, getString(R.string.确定切换语言吗), {}) {
                LanguageSP.saveLanguage(this, LanguageConst.FR_FR)
                changeServerLanguage {
                    LanguageUtil.reApp(this)
                }
            }
        }
    }
 
    private fun changeServerLanguage(call: (() -> Unit)) {
        val mapByAny = getMapByAny()
        mapByAny[Const.language] = getTypeByLanguage()
        callNet(Api.editLanguage, mapByAny) { call.invoke() }
    }
 
    fun getTypeByLanguage(): Int {
        /*  val lang = SPUtils.getString(Const.language)
          var type = 0
          if (lang == null || lang.isEmpty() || lang == Const.Language.CHINESE || lang == "zh") {
              type = 1
          }
          if (lang == Const.Language.ENGLISH) {
              type = 2
          }
          if (lang == Const.Language.FRENCH) {
              type = 3
          }*/
 
        val language = LanguageSP.getLanguage(mContext)
 
        if (language == ZH_CN) {
            return 1
        }
        if (language == EN_US) {
            return 2
        }
        if (language == FR_FR) {
            return 3
        }
        return 2
    }
 
    fun setLangh() {
        tv_en.setDrawableNull()
        tv_china.setDrawableNull()
        tv_fr.setDrawableNull()
        /*var langh = SPUtils.getString(Const.language)
        if (langh.isNullOrEmpty() || langh == Const.Language.CHINESE || langh == "zh") {
            tv_china.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh)
        }
        if (langh == Const.Language.ENGLISH) {
            tv_en.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh)
        }
        if (langh == "in") {
            tv_fr.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh)
        }*/
 
        val language = LanguageSP.getLanguage(mContext)
 
        if (language == ZH_CN) {
            tv_china.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh)
        }
        if (language == EN_US) {
            tv_en.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh)
        }
        if (language == FR_FR) {
            tv_fr.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh)
        }
 
    }
}