android 中使用 number picker ( 使用资源文件strings.xml )
访问量: 3023
1. 在xml 中: (注意, 这两个都是隐藏状态, )
<NumberPicker android:id="@+id/the_language_picker" android:layout_width="match_parent" android:layout_height="180dp" android:visibility="gone" /> <Button android:id="@+id/the_language_picker_ok_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="OK" android:visibility="gone" />
2. 在java中: (分别设置了点击事件,)
// 根据resource 资源显示文字 languagePicker = (NumberPicker) findViewById(R.id.the_language_picker); String english = getResources().getString(R.string.english); String chinese = getResources().getString(R.string.chinese); String khmer = getResources().getString(R.string.khmer); // 初始化这个 number picker String[] data = new String[]{english, chinese, khmer}; languagePicker.setMinValue(0); languagePicker.setMaxValue(data.length-1); languagePicker.setDisplayedValues(data); // 设置 ok 按钮,让它做一些相应. ok = (Button) findViewById(R.id.the_language_picker_ok_button); ok.setOnClickListener(new View.OnClickListener(){ public void onClick(View view){ // get language string Integer languageInteger = languagePicker.getValue(); String languageString = "en"; if(languageInteger == 0){ languageString = "en"; }else if(languageInteger == 1){ languageString = "zh"; }else if(languageInteger == 2){ languageString = "km"; } // set language SharedPreferences settings = getSharedPreferences(Constants.REFERENCE_NAME, 0); SharedPreferences.Editor editor = settings.edit(); editor.putString("language", languageString); editor.commit(); Log.d("== doSwitchLanguage", " MyApplication changed language to: " + languageString); // hide ui,不隐藏其实也行 languagePicker.setVisibility(View.GONE); ok.setVisibility(View.GONE); // 重新启动当前的activity Intent intent = new Intent(MainActivity.this, MainActivity.class); startActivity(intent); finish(); } });