怎么在Fragment里切换中英文

[复制链接]
查看11 | 回复1 | 2021-1-27 06:50:24 | 显示全部楼层 |阅读模式
publicclassxitongshezhiextendsFragment{
publicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){
Viewview=View.inflate(getActivity(),R.layout.xitongshezhi,null);
ButtonLanguage=(Button)view.findViewById(R.id.language);
Language.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewcontext){
Localelocale=context.getResources().getConfiguration().locale;
Stringlanguage=locale.getLanguage();
Intenti=newIntent();
if(language.endsWith("zh")){//判断当前语言是否是中文
switchLanguage(Locale.ENGLISH);
//finish();
LocalBroadcastManager.getInstance(getActivity()).sendBroadcast(i);
}else{
switchLanguage(Locale.CHINESE);
//finish();
LocalBroadcastManager.getInstance(getActivity()).sendBroadcast(i);
}
}
privatevoidswitchLanguage(Localelocale){
Resourcesresources=getResources();
//获取资源目录中的配置信息
Configurationconfig=resources.getConfiguration();
//获取系统显示区域信息
DisplayMetricsdm=resources.getDisplayMetrics();
//配置local信息
config.locale=locale;
//更新资源目录的配置信息
resources.updateConfiguration(config,dm);
onCreate(null);//刷新
}
});
returnview;
}
}

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:50:24 | 显示全部楼层

publicclassxitongshezhiextendsActivity{

@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
TextViewtv_yuyan=(TextView)findViewById(R.id.tv_yuyan);
tv_yuyan.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewcontext){
Localelocale=context.getResources().getConfiguration().locale;
Stringlanguage=locale.getLanguage();
Intenti=newIntent();
if(language.endsWith("zh")){//判断当前语言是否是中文
switchLanguage(Locale.ENGLISH);
Toast.makeText(xitongshezhi.this,""+"zh",Toast.LENGTH_LONG).show();
//finish();
sendBroadcast(i);
}else{
switchLanguage(Locale.CHINESE);
//finish();
sendBroadcast(i);
}
}
privatevoidswitchLanguage(Localelocale){
Resourcesresources=getResources();
//获取资源目录中的配置信息
Configurationconfig=resources.getConfiguration();
//获取系统显示区域信息
DisplayMetricsdm=resources.getDisplayMetrics();
//配置local信息
config.locale=locale;
//更新资源目录的配置信息
resources.updateConfiguration(config,dm);
onCreate(null);//刷新
}
});


当继承的是Activity就可以点击文字切换语言,Fragment里不行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行