gpt4 book ai didi

android - 在所有 Activity 中使用相同的微调器

转载 作者:行者123 更新时间:2023-11-29 01:45:14 25 4
gpt4 key购买 nike

我对应用中的所有 Activity 使用同一个微调器。比方说,微调器中的项目是英语、芬兰语、波兰语等等。当我在一项 Activity 中选择芬兰语时,微调器的下拉菜单会关闭,并且可以在微调器上看到芬兰语。但是当我进行下一个 Activity 时,它不再显示芬兰语,而是在顶部显示英语(项目)。是否有任何方法可以使已选择所有 Activity 的微调器上的项目出现。或者,除非未更改,否则不应更改。在BaseActivity中;

int currentLanguage = spinner.getSelectedItemPosition();
SharedMemory.getInstance().setCurrentPosition(currentLanguage);

Log.i("SET POSITION", Integer.toString(currentLanguage));

在其他activity中保存item位置的状态;

int position = SharedMemory.getInstance().getCurrentPosition();
Base_Activity.spinner.setSelection(position);
Log.i("GET POSITION", Integer.toString(position));

我设法将所选语言设置在单例类的 SharedMemory 中。但是我怎样才能在所有 Activity 中仍然获得相同的 currentLanguage。当我改变 Activity 时我无法得到它。注意:此微调器位于 Base_Activity 类的操作栏中,其中所有其他 Activity 都扩展了此类。谢谢。

最佳答案

最后,我设法解决了我的问题。在我试图在 spinner.setOnItemSelectedListener() 方法中做一些事情之前,这真的是错误的。在我的 BaseActivity 中;

Configuration conf = getResources().getConfiguration();

//creating the position of the language in spinner from arraylist
int currentLanguage = Arrays.asList(language_codes).indexOf(
conf.locale.getLanguage());

spinner.setSelection(currentLanguage);

这允许我在更改 Activity 时始终将微调器的选定项目保留在顶部。希望这可能对其他人有所帮助。 :)

关于android - 在所有 Activity 中使用相同的微调器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21876390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com