2017-03-01 68 views
-6

我想为用户添加启动Activity为用户选择应用程序语言,如何使此活动仅在启动时显示,以及何时用户选择语言时活动必须永久消失?在启动时选择语言

+0

使用'SharedPreference'。 – Piyush

+1

只需启动此“活动”,当用户选择所需语言时,请使用“意图”启动新的“活动”和“完成()”以关闭它。 –

+0

您需要将语言代码或名称存储在某些与SharedPrefrence或SQLite相似的地方,以便每次在您的应用程序打开时首先检查是否设置语言状态。 –

回答

3

如果我理解正确,只希望在用户第一次运行应用程序时显示该活动。

嗯,这里是你可以做什么:

1)获取的句柄SharedPreference。这是为了存储用户是否已经选择了该语言。

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 

2)创建SharedPreferences.Editor

SharedPreferences.Editor editor = sharedPref.edit(); 

3)储存的信息中的键值

editor.putBoolean("HAS_SELECTED_LANGUAGE", true); 

4)提交更改

editor.commit(); 

5)检查'HAS_SELECTED_LANGUAGE'在活动的onCreate()true,如果这样继续前进到下一个活动/片段/等

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ... 
    ... 
    if (sharedPref.getBoolean("HAS_SELECTED_LANGUAGE", false)) { 
     //Replace with your action to perform if it is already selected 
    } 
    ... 
} 

而且它会recomended,让用户能够回来,改变从语言在别的地方,如果他们需要的话。

希望这可以解决您的问题。

+0

谢谢你的作品像魅力 – bzhar93

0

您可以指定适合使用应用程序的人的文化的资源。您可以提供适合您用户的语言和文化的任何资源类型。例如,以下屏幕截图显示的应用程序在设备的默认(en_US)区域设置和西班牙语(es_ES)区域设置中显示字符串和可绘制资源。

<resources> 
     <string name="hello_world">Hello World!</string> 
    </resources> 

enter image description here

<resources> 
     <string name="hello_world">¡Hola Mundo!</string> 
    </resources> 

阅读开发者文档按下面的逻辑。

Supporting Different Languages and Cultures