Ich habe eine Nachrichtenaktivität, in der es eine Liste von Nachrichten gibt. Ich möchte, dass ein Benutzer Nachrichten aus der Liste auswählt und ihn auf die news_details Seite leitet, wo ich die Details über die ausgewählte Nachrichten, aber wenn der Benutzer die Nachrichten auswählt, geht das Programm schnell zu news_details und kommt wieder zu den Nachrichten zurück.Übergeben des ausgewählten Objekts an eine andere Aktivität
News:
public void Listen() {
list.setOnItemClickListener(new AdapterView.OnItemClickListener() { // ana sayfada herhangi bir item seçildiğinde
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
NewsItem selectedNews = (NewsItem) parent.getItemAtPosition(position);
Intent i = new Intent(MainActivity.this, News_Details_Activity.class);
i.putExtra("title", selectedNews.getTitle());
i.putExtra("date", selectedNews.getNewsDate().toString());
i.putExtra("image_id", selectedNews.getImageId());
i.putExtra("text", selectedNews.getText());
setResult(RESULT_OK, i);
startActivity(i);
}
});
}
News_Details:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_news__details);
Intent i = new Intent(this,MainActivity.class);
startActivityForResult(i, GET_NEWS);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GET_NEWS) { // Check which request we're responding to
if (resultCode == RESULT_OK) { // Make sure the request was successful
title.setText(data.getStringExtra("title"));
date.setText(data.getStringExtra("date"));
news_img.setImageResource(data.getIntExtra("image_id", 0));
news_text.setText(data.getStringExtra("text"));
}
}
}
}
Wenn ich die startActivityForResult (i, GET_NEWS) zu entfernen; Funktioniert protected void onActivityResult (int requestCode, int resultCode, Intent-Daten) ordnungsgemäß? –
Es funktioniert Danke. Wann sollten wir die Startaktivität nutzen? –
@ayt_cem Ich habe eine Erklärung für Ihre Informationen hinzugefügt. –