2
2
3
3
import android .content .Intent ;
4
4
import android .os .Bundle ;
5
- import android .view .View ;
6
- import android .view .ViewGroup ;
7
5
import android .webkit .WebChromeClient ;
8
6
import android .webkit .WebView ;
9
7
import android .webkit .WebViewClient ;
8
+ import android .widget .RadioGroup ;
10
9
import android .widget .TextView ;
11
10
12
11
import com .hjq .language .MultiLanguages ;
20
19
* desc : 多语种切换演示
21
20
*/
22
21
public final class MainActivity extends BaseActivity
23
- implements View . OnClickListener {
22
+ implements RadioGroup . OnCheckedChangeListener {
24
23
25
24
private WebView mWebView ;
25
+ private RadioGroup mRadioGroup ;
26
26
27
27
@ Override
28
28
protected void onCreate (Bundle savedInstanceState ) {
29
29
super .onCreate (savedInstanceState );
30
30
setContentView (R .layout .activity_language );
31
31
32
32
mWebView = findViewById (R .id .wv_language_web );
33
+ mRadioGroup = findViewById (R .id .rg_language_languages );
34
+
33
35
mWebView .setWebViewClient (new WebViewClient ());
34
36
mWebView .setWebChromeClient (new WebChromeClient ());
35
37
mWebView .loadUrl ("https://developer.android.google.cn/index.html" );
@@ -38,31 +40,42 @@ protected void onCreate(Bundle savedInstanceState) {
38
40
((TextView ) findViewById (R .id .tv_language_application )).setText (getApplication ().getResources ().getString (R .string .current_language ));
39
41
((TextView ) findViewById (R .id .tv_language_system )).setText (MultiLanguages .getLanguageString (this , MultiLanguages .getSystemLanguage (), R .string .current_language ));
40
42
41
- findViewById (R .id .btn_language_auto ).setOnClickListener (this );
42
- findViewById (R .id .btn_language_cn ).setOnClickListener (this );
43
- findViewById (R .id .btn_language_tw ).setOnClickListener (this );
44
- findViewById (R .id .btn_language_en ).setOnClickListener (this );
43
+ if (MultiLanguages .isSystemLanguage ()) {
44
+ mRadioGroup .check (R .id .rb_language_auto );
45
+ } else {
46
+ Locale locale = MultiLanguages .getAppLanguage ();
47
+ if (Locale .CHINA .equals (locale )) {
48
+ mRadioGroup .check (R .id .rb_language_cn );
49
+ } else if (Locale .TAIWAN .equals (locale )) {
50
+ mRadioGroup .check (R .id .rb_language_tw );
51
+ } else if (Locale .ENGLISH .equals (locale )) {
52
+ mRadioGroup .check (R .id .rb_language_en );
53
+ } else {
54
+ mRadioGroup .check (R .id .rb_language_auto );
55
+ }
56
+ }
57
+
58
+ mRadioGroup .setOnCheckedChangeListener (this );
45
59
}
46
60
47
61
/**
48
- * {@link View.OnClickListener }
62
+ * {@link RadioGroup.OnCheckedChangeListener }
49
63
*/
50
64
@ Override
51
- public void onClick ( View v ) {
65
+ public void onCheckedChanged ( RadioGroup group , int checkedId ) {
52
66
// 是否需要重启
53
67
boolean restart = false ;
54
68
55
- int viewId = v .getId ();
56
- if (viewId == R .id .btn_language_auto ) {
69
+ if (checkedId == R .id .rb_language_auto ) {
57
70
// 跟随系统
58
71
restart = MultiLanguages .setSystemLanguage (this );
59
- } else if (viewId == R .id .btn_language_cn ) {
72
+ } else if (checkedId == R .id .rb_language_cn ) {
60
73
// 简体中文
61
74
restart = MultiLanguages .setAppLanguage (this , Locale .CHINA );
62
- } else if (viewId == R .id .btn_language_tw ) {
75
+ } else if (checkedId == R .id .rb_language_tw ) {
63
76
// 繁体中文
64
77
restart = MultiLanguages .setAppLanguage (this , Locale .TAIWAN );
65
- } else if (viewId == R .id .btn_language_en ) {
78
+ } else if (checkedId == R .id .rb_language_en ) {
66
79
// 英语
67
80
restart = MultiLanguages .setAppLanguage (this , Locale .ENGLISH );
68
81
}
0 commit comments