java - 重新创建片段后微调器文本变为空白/白色
问题描述
为什么选择后微调器文本变为空白?
如果我使用 getActivity().recreate(); ,微调器文本会闪烁然后变为空白;做出选择后。
我正在使用 recreate 根据微调器选择加载语言环境。
onCreateView
spinner = (Spinner) findViewById(R.id.spinner);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
((TextView) spinner.getChildAt(0)).setTextColor(getResources().getColor(R.color.red));
getActivity().recreate();
switch (position) {
case 0:
setLocale("en");
break;
case 1:
setLocale("en-us");
break;
}
}
@Override
public void
onNothingSelected(AdapterView<?> parent) {
}
});
在 Activity 中,我会使用 getIntent 和 startactivity 并且微调器文本不会变为空白。
解决方案
您可以尝试将 setRetainInstance(true) 放在片段的 oncreate 方法上
推荐阅读
- html - 重定向到Django中的另一个页面
- mac-catalyst - 如何自定义“关于应用程序”菜单项
- python - pandas fillna() 不适用于 inplace=True
- wordpress - Wordpress - 需要 401 授权
- networking - 无法理解 DMZ
- mysql - 我的spring Boot项目有一个h2数据库,现在想把hd数据库改成mysql数据库,怎么办?
- html - CSS OnHover - 改变另一个元素的属性以及它本身
- apache-kafka - 如果 num.standby.replicas = 4,GlobalKTable 是否等同于 KTable?
- javascript - 如何在 JS JSON 中使用名称中的连字符访问属性
- python-2.7 - TypeError:只有长度为1的数组可以转换为Python标量,python2.7