簡體   English   中英

如何使用“區域設置”和“配置”選擇不同的資產文件作為我的語言更改?

[英]How to select different assets files as my language change using Locale and Configuration?

我想根據應用程序中的語言更改從資產文件夾中更改JSON文件,並希望在RecyclerView感受數據。

但是我的適配器不適用該更改。

選擇另一個區域設置文件后,請確保必須再次設置適配器。 如果您使用的是RecyclerView,則將LayoutManager設置為您的回收站視圖,如下所示:

RecyclerView yourRecyclerView= (RecyclerView) findViewById(R.id.yourRecyclerView);
LinearLayoutManager layoutManager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);
rc_qList.setHasFixedSize(true);
rc_qList.setLayoutManager(layoutManager);

RecyclerViewAdapter yourAdapter = new RecyclerViewAdapter (MainActivity.this, yourArrayList);
rc_qList.setAdapter(yourAdapter);

您可以使用Locale對象獲取設備的當前語言,然后將其與Locale對象的常量進行比較。 例如:

Log.d(TAG, "onCreate: "+Locale.ENGLISH);
Log.d(TAG, "onCreate: "+Locale.getDefault().getDisplayLanguage());
Log.d(TAG, "onCreate: "+Locale.getDefault().getDisplayCountry());
Log.d(TAG, "onCreate: "+Locale.getDefault().getCountry());
Log.d(TAG, "onCreate: "+Locale.getDefault().getLanguage());

印刷品:

onCreate: en
onCreate: English
onCreate: United Kingdom
onCreate: GB
onCreate: en

更改數據收集后,請確保調用適配器以確保更改adapter.notifyDataSetChanged()不要忘記調用adapter.notifyDataSetChanged()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM