Intent Problem

  • Antworten:3
marco_89
  • Forum-Beiträge: 1

17.12.2013, 09:21:28 via Website

Hi,

über den unten stehenden Code übergebe ich eine Integer Variable an ein Intent:


public void onClick(View v) {
int index = 0;

for (int i = 0; i < m_NrPlayers; i++)
{
if (m_PlayerImage[i].getId() == v.getId())
{
index = i;
break;
}
}

Intent intent = new Intent();
intent.putExtra("result_IV_NR", index);
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent ,"Select Picture"), SELECT_PICTURE);
}
});

Dann wird die onActivityResult Methode aufgerufen:

public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (resultCode == RESULT_OK) {

if (requestCode == SELECT_PICTURE) {

int IV_Nr = data.getIntExtra("result_IV_NR", 0);

}

}

IV_Nr hat jedoch immer den Default-Wert von 0, aber wieso?

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

17.12.2013, 09:52:11 via Website

Ich schätze du bekommst einen Intent der zwar dem SELECT_PICTURE request code hat sonst aber komplett neu ist. Die MetaDaten von dir fehlen, ich würde mal prüfen ob deine alten Datensätze ganz fehlen statt des default wertes.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
impjor
  • Forum-Beiträge: 1.793

17.12.2013, 14:05:23 via App

Warum speicherst du die Nummer nicht einfach in SharedPreferences oder ganz easy als Variable?
Du kannst dich halt nicht darauf verlassen, dass die App, die den Intent erhält alle deine extras wieder zurück sendet, warum auch?
LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten