[英]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.