当前位置: 首页 > 知识库问答 >
问题:

如何保存最后选定的语言?

顾宣
2023-03-14

@覆盖公共void onItemSelected(SelectableItem SelectableItem){

    List<Item> selectedItems = adapter.getSelectedItems();

if(selectableItem.getName().equals("English")){
    if (userSessionManager.isLoggedIn()) {
        Intent intent = new Intent(LanguageListActivity.this, MainActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
        startActivity(intent);

        setLanguage("en");

    } else {
        Intent intent = new Intent(LanguageListActivity.this, LoginActivity.class);
        Log.d("Login", "firgage");
        intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
        startActivity(intent);
       setLanguage("en");

    }


 }else if(selectableItem.getName().equals("Hindi(हिंदी)")){
    if (userSessionManager.isLoggedIn()) {
        Intent intent = new Intent(LanguageListActivity.this, MainHindiActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
        startActivity(intent);
        setLanguage("hi");

    } else {
        Intent intent = new Intent(LanguageListActivity.this, LoginhindiActivity .class);
        Log.d("hLogin", "firhin");
        intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
        startActivity(intent);
       setLanguage("hi");
        String lang = "hi";

    }

 }

}

protected void setLanguage(String language){
    mylocale=new Locale(language);
    Resources resources=getResources();
    DisplayMetrics dm=resources.getDisplayMetrics();
    Configuration conf= resources.getConfiguration();
    conf.locale=mylocale;
    resources.updateConfiguration(conf,dm);
    //Intent refreshIntent=new Intent(LanguageListActivity.this,MainActivity.class);
    finish();
    //startActivity(refreshIntent);
}

共有1个答案

陶温书
2023-03-14

我想保存上次选择的语言-为此您需要使用SharedPreferences

有关SharedPreferences的参考:共享首选项

存储在SharedPreferences中:

SharedPreferences sharedPref = getActivity().getPreferences(MY_PREFS_NAME,Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("lang", language);
editor.commit();
Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
       MY_PREFS_NAME, Context.MODE_PRIVATE);
String language = sharedPref.getString("lang", null); 
 类似资料:
  • 我的程序试图保存按钮组的状态,以便在程序结束时将其写入文件,或者在用户选择“返回”时恢复到按钮。 我以前发现过这个问题: 如何从按钮组中选择哪个JRadioButton 但是,我下面的代码在编译为ButtonGroup时出错,在ActionPerformed方法中使用时无法识别。 补丁:找不到变量推文可信度 知道为什么会这样吗? 谢谢

  • 我在Jpa存储库中使用Spring Boot。我在循环中保存一些记录,在保存所有记录后,会打印下面的异常。 JAVAsql。SQLRecoverableException:oracle的Instruço Fechada。jdbc。驾驶员OracleClosedStatement。oracle上的getMaxRows(OracleClosedStatement.java:3578)~[ojdbc6-

  • 好的,所以我已经制作了一个文本编辑器,到目前为止,它可以使用JFileChooser创建新文件和打开文件。 我正在努力做的是让文件的保存工作。每次添加或打开一些文件时,它都会向tabbedpane中添加一个新的选项卡,名称要么是文件1等,要么是打开的文件的名称。 另外,我如何使一个文件的当前选定标签textarea?我试过了,但不行: 所以我需要在textArea中创建一个字符串文件。

  • 问题内容: 我在数据库中进行了一系列测试和案例。每当测试过时时,它都会被注明过期日期,并且该测试的任何子案例也应注明过期日期。我看到两种方法可以做到这一点: 1)将保存功能修改为结束日期子案例。 2)创建一个接收器,侦听正在保存的测试模型,然后结束其子案例的日期。 有什么理由要使用另一个? 编辑: 我看到这篇博客文章建议每当您检查模型的给定值时都使用save方法。由于我正在检查end_date,也

  • 我知道可以使用获取最后一个id,但我想知道如何通过方法获取最后一个插入的id。 我用这个,但它返回值