2017-03-01 47 views
-6

我想爲用戶添加啓動Activity爲用戶選擇應用程序語言,如何使此活動僅在啓動時顯示,以及何時用戶選擇語言時活動必須永久消失?在啓動時選擇語言

+0

使用'SharedPreference'。 – Piyush

+1

只需啓動此「活動」,當用戶選擇所需語言時,請使用「意圖」啓動新的「活動」和「完成()」以關閉它。 –

+0

您需要將語言代碼或名稱存儲在某些與SharedPrefrence或SQLite相似的地方,以便每次在您的應用程序打開時首先檢查是否設置語言狀態。 –

回答

3

如果我理解正確,只希望在用戶第一次運行應用程序時顯示該活動。

嗯,這裏是你可以做什麼:

1)獲取的句柄SharedPreference。這是爲了存儲用戶是否已經選擇了該語言。

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 

2)創建SharedPreferences.Editor

SharedPreferences.Editor editor = sharedPref.edit(); 

3)儲存的信息中的鍵值

editor.putBoolean("HAS_SELECTED_LANGUAGE", true); 

4)提交更改

editor.commit(); 

5)檢查'HAS_SELECTED_LANGUAGE'在活動的onCreate()true,如果這樣繼續前進到下一個活動/片段/等

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ... 
    ... 
    if (sharedPref.getBoolean("HAS_SELECTED_LANGUAGE", false)) { 
     //Replace with your action to perform if it is already selected 
    } 
    ... 
} 

而且它會recomended,讓用戶能夠回來,改變從語言在別的地方,如果他們需要的話。

希望這可以解決您的問題。

+0

謝謝你的作品像魅力 – bzhar93

0

您可以指定適合使用應用程序的人的文化的資源。您可以提供適合您用戶的語言和文化的任何資源類型。例如,以下屏幕截圖顯示的應用程序在設備的默認(en_US)區域設置和西班牙語(es_ES)區域設置中顯示字符串和可繪製資源。

<resources> 
     <string name="hello_world">Hello World!</string> 
    </resources> 

enter image description here

<resources> 
     <string name="hello_world">¡Hola Mundo!</string> 
    </resources> 

閱讀開發者文檔按下面的邏輯。

Supporting Different Languages and Cultures