2014-02-09 7 views
0

Я создаю приложение, которое я удивительно знаю, и используя кнопку быстрого возврата, чтобы вернуть пользователя в предыдущий список. Код ниже - это часть намерения, которая запускает действие. Теперь он отправляет активность обратно себе с переменной «LvPos», чтобы определить, в какую позицию он только что заново запустится.Начало деятельности по запуску назад к тому же виду деятельности

Spinner spinMe = (Spinner)findViewById(R.id.spinner1); 
            Intent backIntent = new Intent(null, null, getBaseContext(), MainActivity.class); 
            int itemSelected = spinMe.getSelectedItemPosition(); 
            backIntent.putExtra("LvPos", itemSelected); 
            startActivity(backIntent); 

Теперь приведенный ниже код является ссылкой в ​​методе onCreate, который получает переменную LvPos. Проблема в том, что когда я добираюсь до этой части, LvPos имеет значение null. У меня есть тот же код для различных других целей, и все работает нормально. Если кто-нибудь увидит какие-либо вопиющие проблемы, сообщите мне, поскольку я должен серьезно игнорировать что-то.

int positionID = 0; 
Bundle extras = getIntent().getExtras(); 
if (extras != null){ 
    String LvPosBundle = extras.getString("LvPos"); 

    if (LvPosBundle != null) 
     positionID = Integer.parseInt(LvPosBundle); 
} 

Заранее спасибо.

ответ

1

Вы используете putExtra (String, int), когда вы добавляете дополнительные.

При получении использовании:

extras.getString("LvPos"); 

вместо этого использовать:

extras.getInt("LvPos"); 

магазин, что в целое число вместо строки. Тогда вам также не нужно делать parseInt.

Надеюсь, что это поможет.

-Travis

+0

Я знал, что это было что-то очень простое, я просто полностью его рассматривал. Это самые простые из всех других более сложных программ, которые время от времени выбирают лучшего программиста. Вы бы подумали, что это вызовет ошибку, но полезную информацию я никогда не забуду. – user3241191

+0

Это правда, мой друг. Удачи вам в ваших проектах. – Travis

Смежные вопросы