I recently started working with Android App development and know that the similar question has already been asked. But nevertheless, I could not find any solution to solve my problem. I have the following issue: I am using a custom SettingsActivity which includes a SettingsFragment as follows:
SettingsActivity.kt
class SettingsActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        fragmentManager.beginTransaction().add(android.R.id.content, SettingsFragment()).commit()
    }
    class SettingsFragment : PreferenceFragment() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            addPreferencesFromResource(R.xml.settings_pref)
        }
    }
}
In the settings_pref.xml I have a ListPreference as follows:
settings_pref.xml
   <ListPreference
        android:key="list"
        android:title="@string/language"
        android:summary="@string/sel_language"
        android:defaultValue="1"
        android:entries="@array/pref_language_list_titles"
        android:entryValues="@array/pref_language_list_values"
        android:negativeButtonText="@null"
        android:positiveButtonText="@null"/>
I tried all the possible solutions I could find on the Google, but could not make it workable. I would like to give the users possibility to choose app language over settings. I need a possible and working solution like Settings -> Language -> Select language -> Return to the MainActivity or even restart the app (if required) and let the user use the app by using a different language within the app regardless of the device system language.
Many thanks in advance and please let me know if I was not enough clear. I will try to give more details if required.
 
     
    