मेरे ऐप में मेरे पास दो गतिविधियां हैं जो दोनों तरफ घूमने योग्य है और अन्य लैंडस्केप मोड में बंद है।अभिविन्यास परिवर्तन में एंड्रॉइड लोकेल परिवर्तन
के बाद मेरी मैनिफ़ेस्ट फ़ाइल विवरण जहां गतिविधियों अपना लॉगिन गतिविधि में
<activity
android:name="com.hogaming.android.Activities.LoginActivity"
android:configChanges="orientation|screenSize|keyboardHidden">
</activity>
<activity
android:name="com.android.activities.MainActivity"
android:configChanges="orientation|screenSize|keyboardHidden">
</activity>
जोड़ दिया गया एक स्पिनर का उपयोग कर मैं स्थान बदलने कर रहा हूँ और पूरे ग्रंथों और बटन पाठ संपादित करें अद्यतन करने है। किसी बटन को क्लिक कार्रवाई में मैं यूआई बार देखा गया है कि समय को अद्यतन करने कर रहा हूँ और जब मैं डिवाइस, अंग्रेजी स्थान विचारों पर सेट कर दिया जाता अपडेट किया जाता है यहाँ अगर मैं तुम्हें सही ढंग से समझ में आ अपने पूरे कोड
public class LoginActivity extends Activity
{
Locale locale = null;
Spinner langSpinner;
private SharedPreferences langPrefs;
String langSelected = "";
int langPosition = 0;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.loginscreen);
langPrefs = PreferenceManager.getDefaultSharedPreferences(this);
langSelected = langPrefs.getString(langPrefKey, "");
langPosition = langPrefs.getInt(langPosKey, 0);
langSpinner = (Spinner)this.findViewById(R.id.lanuage_spinner1);
langSpinner.setSelection(langPosition);
langSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int pos, long arg3)
{
if (pos == 0)
{
langSelected ="en";
locale = Locale.ENGLISH;
}
else if (pos == 1)
{
langSelected ="it";
locale = Locale.ITALIAN;
}
else if (pos == 2)
{
langSelected ="zh";
locale = Locale.SIMPLIFIED_CHINESE;
}
else if (pos == 3)
{
langSelected ="zh-rTW";
locale = Locale.TRADITIONAL_CHINESE;
}
changeLang(langSelected, pos);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
btnLogin = (Button) this.findViewById(R.id.LoginButton);
btnLogin.setOnClickListener(new ButtonClickListener());
}
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onStop() {
super.onStop();
this.finish();
}
@Override
protected void onDestroy()
{
super.onDestroy();
this.finish();
}
public class ButtonClickListener implements OnClickListener {
public void onClick(View v) {
final LoginTask validateTask = new LoginTask(context, usernameField.getText().toString(), passwordField.getText().toString());
validateTask.execute();
}
// Hide the keyboard
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(passwordField.getWindowToken(), 0);
}
public class LoginTask extends AsyncTask<Void, Void, String>
{
protected LoginActivity context;
protected Exception exception;
private String username;
private String password;
public LoginTask(LoginActivity context, String uname, String pwd) {
this.context = context;
this.username = uname;
this.password = pwd;
}
@Override
protected String doInBackground(Void... params) {
try
{
return HTTPHelper.LoginTaskData(this.context, username, password);
}
catch (Exception e)
{
exception = e;
Log.e(TAG, "Login Task Error", e);
}
return null;
}
@Override
protected void onPostExecute(String result)
{
super.onPostExecute(result);
Log.e(TAG, "LoginTask: " + result);
if (result.equals("true"))
{
// moves to next activity
}
else if (result.equals("false"))
{
//showing an alert textview with selected language text
}
}
}
public void changeLang(String lang, int pos)
{
if (lang.length() != 0)
{
saveLocale(lang, pos, locale);
android.content.res.Configuration config = new android.content.res.Configuration();
config.locale = locale;
Locale.setDefault(locale);
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
updateTexts();
}
}
public void saveLocale(String lang, int pos, Locale locale)
{
SharedPreferences.Editor editor1 = langPrefs.edit();
editor1.remove(langPrefKey);
editor1.remove(langPosKey);
editor1.commit();
SharedPreferences.Editor editor = langPrefs.edit();
editor.putString(langPrefKey, lang);
editor.putInt(langPosKey, pos);
editor.commit();
langSelected = langPrefs.getString(langPrefKey, "");
langPosition = langPrefs.getInt(langPosKey, 0);
}
private void updateTexts()
{
// here i will once again set all textview String values, it changes to the selected language
}
@Override
public void onConfigurationChanged(android.content.res.Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (locale != null){
newConfig.locale = locale;
Locale.setDefault(locale);
getBaseContext().getResources().updateConfiguration(newConfig, getBaseContext().getResources().getDisplayMetrics());
}
}
}
आप किस एंड्रॉइड ओएस का उपयोग कर रहे हैं? – Mithun
एंड्रॉइड किटकैट और लॉलीपॉप –