Hallo leute,
irgendwie schaffe ich es nicht, einen integer-wert von einer activity (PlaylistActivity) zur MainActivity zu übermitteln. Die PlaylistActivity beinhaltet eine klickbare Listview. Wenn auf eines der Elemente geklickt wird, soll dann dementsprechend der int-wert an die MainActivity übermittelt werden.
Bin so vergegangen:
Code
public class PlayListActivity extends Activity {
ListView list;
@SuppressWarnings("unchecked")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.playlist);
list = (ListView)findViewById(R.id.listView_playList);
final Bundle extras = getIntent().getExtras();
list.setOnItemClickListener(new OnItemClickListener() {
@SuppressWarnings("static-access")
@Override
public void onItemClick(AdapterView<?> parent, View v, int pos, long id) {
List<Integer> ersatzListe = extras.getIntegerArrayList("list");
int songID = ersatzListe.get(pos);
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.putExtra("songID", songID);
setResult(Activity.RESULT_OK, i);
finish();
}
});
}
Alles anzeigen
In der MainActivity sollte der int-wert durch folgende Methode behandelt werden:
Code
public class MainActivity extends FragmentActivity {
.....
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == Activity.RESULT_OK) {
currentSongIndex = data.getExtras().getInt("songID");
Log.d("INDEX:", "" + currentSongIndex);
}
}
...
}
Alles anzeigen
jedoch kommt es mir vor, dass die Methode gar nicht aufgerufen wird. Im logcat bekomme ich auf jedenfall keinen Eintrag über den Parameter "INDEX:". Liegt es daran, dass die MainActvity eine FragmentActivity ist?
Danke im Voraus für eure Hilfen und Ratschläge