Я пытаюсь отправить одну строку через общие настройки другой активности. Я хочу снова вызвать ту же деятельность.Не удается правильно получить доступ к данным об общих предпочтениях
У меня есть несколько видов деятельности, которые называет одну общую деятельность. Поэтому я хочу определить, из которого была вызвана общая деятельность, и хочу вернуться к той же активности, с которой она вызвана.
Это я сделал в 1 Активность:
SharedPreferences mPrefs = getSharedPreferences("Type", 0);
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("gosend","1");
editor.commit();
В 2-й активности
SharedPreferences mPrefs = getSharedPreferences("Type1", 0);
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("goride", "2");
editor.commit();
В общей активности
useLocation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences mPrefs = getSharedPreferences("Type", 0);
activityType = mPrefs.getString("gosend", "1");
SharedPreferences mPrefs1 = getSharedPreferences("Type1",0);
goride = mPrefs1.getString("goride","2");
if(activityType.equals("1")) {
intent = new Intent(ChooseFromMapActivity.this, GoSend.class);
startActivity(intent);
}
if(goride.equals("2"))
{
intent = new Intent(ChooseFromMapActivity.this, GoRideActivity.class);
startActivity(intent);
}
}
});
}
Теперь, когда я звоню общую деятельность с 1-ой деятельности, Я не вернусь назад к тому же, что и вторая деятельность вызвана.
что-то не так ???
Редактировать
Я попытался это: Тем не менее доза не работает
useLocation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences mPrefs = getSharedPreferences("Type", 0);
activityType = mPrefs.getString("gosend", "0");
// SharedPreferences mPrefs1 = getSharedPreferences("Type1",0);
// goride = mPrefs1.getString("goride","0");
switch (activityType){
case "0":
intent = new Intent(ChooseFromMapActivity.this, GoSend.class);
startActivity(intent);
break;
case "1":
intent = new Intent(ChooseFromMapActivity.this, GoRideActivity.class);
startActivity(intent);
break;
}
}
Ваш как 'if' заявления называются по одному, то почему вторая деятельность называют ... используйте 'if else' –
вы можете использовать SharedPreferences mPrefs = getSharedPreferences (« Тип », 0); inb всех видов деятельности. и в общем использовании использования, если еще – Pavya
Спасибо за ответ .. Я использовал еще, если .. этим я получаю 1-й вид деятельности, когда я звоню с первого раза, но со вторым действием также получаю первое действие. @ Sharp Edge –