Я добавляю 4 дополнения к намерению, и по какой-то причине 1 слот на карте намерения каждый раз перезаписывается.Это всегда один и тот же слот, если я не изменяю порядок добавления своих дополнений, тогда слот, который перезаписывается, изменяется.Вот картинки: Ладно, пока ...
Шаг вперед ... Шаг вперед и мой int пропал? Добавление последнего Extra работает нормально. Окончательное дополнение выглядит хорошо
Я проверил свои переменные и все данные правильно существуют в mTeamMemberFrag.Используя точки останова, я вижу, что первый и второй дополнительные добавляются без проблем, затем третий перезаписывает первый, а четвертый добавляет без проблем.Я вижу, что я не сопоставляю их с одним и тем же ключом.Я искал в Переполнении стека и прочитал документацию Android для Intent и Intent Filters.Я попытался изменить значения, которые добавляются к жестко заданным значениям, я попытался изменить порядок добавления дополнительных и дважды проверил статические окончательные переменные в MainActivity.
Что ж, при двойной проверке переменных в Main, когда я писал это, я обнаружил, что стало причиной моей ошибки: и USERNAMEKEY, и USERPOSITIONKEY были назначены "com.zin.username" в MainActivity, поэтому в зависимости от того, какая из нихСначала я добавил в намерение, один перезаписывал другой.
Я бы хотел знать, почему это происходит.Спасибо за ваше время!
Вот мой код, в который я загружаю Intent:
public void onBackPressed() {
mTeamMemberFrag.updateUserID();
Intent resultIntent = new Intent(this, MainActivity.class);
resultIntent.putExtra(MainActivity.USERNAMEKEY, mTeamMemberFrag.getUserName());
resultIntent.putExtra(MainActivity.USERIDKEY, mTeamMemberFrag.getUserID());
resultIntent.putExtra(MainActivity.USERROLEKEY, mTeamMemberFrag.getSpinner().getSelectedItem().toString());
resultIntent.putExtra(MainActivity.USERPOSITIONKEY, mMemberPosition);
setResult(Activity.RESULT_OK, resultIntent);
finish();
Toast.makeText(this, "Team updated", Toast.LENGTH_SHORT).show();
super.onBackPressed();
}
И в Main, где проблема была на самом деле:
public class MainActivity extends AppCompatActivity {
public static final String USERIDKEY = "com.zin.userid";
public static final String USERPOSITIONKEY = "com.zin.username";
public static final String USERNAMEKEY = "com.zin.username";
public static final String USERROLEKEY = "com.zin.userrole";