Передача целого числа между действиями и содержимым в Android всегда приводит к нулю / нулю - PullRequest
6 голосов
/ 24 марта 2011

Я пытаюсь передать два целых числа из моей активности на главной странице (широту и долготу) во второе действие, которое содержит экземпляр Google Maps, который будет размещать маркер в широте и долготе.Моя загадка состоит в том, что когда я получаю пакет в действии Map_Page, переданные мне целые числа всегда равны 0, что является значением по умолчанию, когда они равны Null.Кто-нибудь видит что-то явно неправильное?

У меня есть следующее, сохраненное в методе нажатия кнопки OnClick.

Bundle dataBundle = new Bundle();

dataBundle.putInt("LatValue", 39485000);
dataBundle.putInt("LongValue", -80142777);
Intent myIntent = new Intent();
myIntent.setClassName("com.name.tlc", "com.name.tlc.map_page");
myIntent.putExtras(dataBundle);
startActivity(myIntent);

Затем в моей деятельности map_page я должен выбрать в onCreate следующеедо данных.

Bundle extras = getIntent().getExtras(); 
System.out.println("Get Intent done");
if(extras !=null)
{
    System.out.println("Let's get the values");
    int latValue = extras.getInt("latValue");
    int longValue = extras.getInt("longValue");

    System.out.println("latValue = " + latValue + " longValue = " + longValue);

}

Ответы [ 2 ]

21 голосов
/ 24 марта 2011

Geeklat,

В этом случае вам не нужно использовать Bundle.

Делайте ваши путы так ...их с ...

Bundle extras = getIntent().getExtras();
int latValue = extras.getInt("LatValue");
int longValue = extras.getInt("LongValue");
13 голосов
/ 24 марта 2011
System.out.println("Let's get the values");
int latValue = extras.getInt("latValue");
int longValue = extras.getInt("longValue");

Не то же самое, что

myIntent.putExtra("LatValue", (int)39485000);
myIntent.putExtra("LongValue", (int)-80142777);

Также это может быть из-за того, что вы не держите имя Int в коде одинаково Java и Android SDK чувствительны к регистру

...