0
所以我所做的是我創建了兩個按鈕,當按下某個按鈕時,意圖啓動並且片段中的語言環境發生更改。我通過獲取所需的語言環境值來實現這一點,將其轉換爲字符串並將其放入額外的位置。它的工作activites之間完全正常,但是當我將它設置爲一個片段,它給了我一個錯誤在片段中獲取語言環境
這裏是我的代碼。
活動發送額外的:
bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Locale locale = new Locale("ar");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
String changela = locale.getLanguage();
Intent i = new Intent(Countrylist.this,PhraseDetailActivty.class);
i.putExtra("KEY",changela);
startActivity(i);
}
});
片接收區域設置:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments().containsKey(ARG_ITEM_ID)) {
// Load the dummy content specified by the fragment
// arguments. In a real-world scenario, use a Loader
// to load content from a content provider.
mItem = DummyContent.ITEM_MAP.get(getArguments().getString(ARG_ITEM_ID));
}
//error at the line under this comment
String changelee = getActivity().getIntent().getStringExtra("KEY");
Locale locale = new Locale(changelee);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getActivity().getResources().updateConfiguration(config,
getActivity().getResources().getDisplayMetrics());
它讓我在這條線的錯誤。
String changelee = getActivity().getIntent().getStringExtra("KEY");
我也嘗試做很多東西一樣把reciving代碼放到另一個地方,把它在管理活動中的片段,但沒有工作。
注意:顯示在我的代碼上。我想這個問題是在這一行字符串 changelee = getActivity()。getIntent()。getStringExtra(「KEY」) 我應該改變一些事情。
試了一下,沒有工作 –
請檢查更新的答案。如果您仍然遇到問題,請嘗試從您的片段中打印「changelee」,以確保傳遞的數據不爲空。 –
是否這樣做,而復興的片段也給了我同樣的錯誤,我該怎麼辦? –