首页 > 解决方案 > 重新创建片段后微调器文本变为空白/白色

问题描述

为什么选择后微调器文本变为空白?

如果我使用 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 并且微调器文本不会变为空白。

标签: javaandroidandroid-spinner

解决方案


您可以尝试将 setRetainInstance(true) 放在片段的 oncreate 方法上


推荐阅读