语言名称和代码中的哈希映射键值对

Hashmap Key Value Pair in Language nam and code

我正在创建一个翻译应用程序,如果假设他从微调器中选择法语,则用户需要在其中选择目标语言,那么 FRENCH 的值应该是 'fr'所以我可以在 url 中传递该值。我已经创建了一个微调器并从数组适配器分配了语言,但我想使用它的缩写形式,比如 French 值应该是 fr 我怎么能实现那个?

"French","fr" "Arabic"、"ar" "English"、"en"

当按下翻译按钮时,我的应用程序显示语言列表 KEY 和应用程序崩溃 这是我的代码,接下来

微调器 spinner = findViewById(R.id.spinner);

    Map<String, String> flanguages = new HashMap<String, String>();
    flanguages.put("Arabic", "ar");
    flanguages.put("English", "en");
    flanguages.put("French", "fr");
    flanguages.put("Hausa", "ha");
    flanguages.put("Igbo", "ig");
    flanguages.put("Yoruba", "yo");

    List<String> list = new ArrayList<String>(flanguages.keySet());


    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
    arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(arrayAdapter);

最简单的方法是创建一个 LanguageItem Class。

class LanguageItem{
    String language;
    String isoCode;

    override String toString(){
      return language;
   }
}

使用此 class 添加您的语言及其 iso 代码。将其放入 ArrayList 并在微调器中显示。

ArrayAdapter<LanguageItem> adapter = new ArrayAdpter(this, android.R.layout.simple_spinner_item, arraylist)

现在 onItemSelected 你可以很容易地得到选择的 LanguageItem 与位置。