這裏是改變語言爲什麼在我更改android語言環境時imageview保持不變?
eng.setOnClickListener(setChangeLangListener("en"));
chi.setOnClickListener(setChangeLangListener("zh"));
public OnClickListener setChangeLangListener(final String lang) {
OnClickListener changeLangListener = new OnClickListener() {
@Override
public void onClick(View arg0) {
Configuration config = new Configuration(getResources()
.getConfiguration());
if (lang.equals("en")) {
config.locale = Locale.ENGLISH;
chi.setTextColor(oldColor);
eng.setTextColor(getActivity().getResources().getColor(
android.R.color.white));
} else {
config.locale = Locale.TRADITIONAL_CHINESE;
eng.setTextColor(oldColor);
chi.setTextColor(getActivity().getResources().getColor(
android.R.color.white));
}
getResources().updateConfiguration(config,
getResources().getDisplayMetrics());
}
};
return changeLangListener;
}
問題是,當我改變了區域的圖像視圖不刷新以反映更改代碼,我使用tabhost和變化的語言按鈕是片段內,所以我必須改變actvitiy +裏面的片段。如何解決它?謝謝。
的tabhost
tabHost = (FragmentTabHost) findViewById(R.id.tabhost);
tabHost.setup(this, getSupportFragmentManager(), R.id.tabcontent);
tabHost.addTab(
tabHost.newTabSpec("Home").setIndicator("",
res.getDrawable(R.drawable.btn_about)), Home.class,
null);
tabHost.addTab(
tabHost.newTabSpec("About").setIndicator("",
res.getDrawable(R.drawable.btn_about)), About.class,
null);
tabHost.addTab(
tabHost.newTabSpec("Check").setIndicator("",
res.getDrawable(R.drawable.btn_check)), Selfie.class,
null);
tabHost.addTab(
tabHost.newTabSpec("Gallery").setIndicator("",
res.getDrawable(R.drawable.btn_gallery)),
PhotoGallery.class, null);
tabHost.addTab(
tabHost.newTabSpec("LeaderBoard").setIndicator("",
res.getDrawable(R.drawable.btn_board)),
LeaderBoard.class, null);
tabHost.addTab(
tabHost.newTabSpec("Events").setIndicator("",
res.getDrawable(R.drawable.btn_events)), Events.class,
null);
tabHost.getTabWidget().setDividerDrawable(null);
setTabBg(tabHost);
片段
rootView = inflater.inflate(R.layout.home, container, false);
loginBtn = (ImageView) rootView.findViewById(R.id.home_connectFB);
eng = (TextView) rootView.findViewById(R.id.btn_eng);
chi = (TextView) rootView.findViewById(R.id.btn_chi);
您需要重新加載活動 – gian1200
你介意進一步解釋一下嗎?我不會繼續使用finish(),因爲我使用的是谷歌分析,所以它可能會加倍計算入門率 – user782104
想到的另一個選項是手動重新加載映像。我不在我的電腦裏,所以不能給出正確的答案 – gian1200