MainActivity ist meine Klasse, in der der Benutzer die Elemente aus der Listenansicht auswählt. Ich verwende den SetOnItemClickListener, um die ausgewählten Elemente abzurufen. Von diesem Punkt an weiß ich nicht, wie ich es an die nächste Aktivität weiterleiten kann. Muss ich die Parcelable-Schnittstelle verwenden? oder gibt es einen anderen Weg nur durch Absichten.Übergeben ausgewählter Elemente aus ListView an eine andere Aktivität
public class MainActivity erstreckt AppCompatActivity implementiert Parcel {
ArrayList<String> shoppingList;
ArrayAdapter adapter;
ListView lv;
Arraylist ausgewählt werden;
protected MainActivity(Parcel in) {
}
public static final Creator<MainActivity> CREATOR = new Creator<MainActivity>() {
@Override
public MainActivity createFromParcel(Parcel in) {
return new MainActivity(in);
}
@Override
public MainActivity[] newArray(int size) {
return new MainActivity[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeStringList(shoppingList);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Example of a call to a native method
shoppingList = new ArrayList<>();
Collections.addAll(shoppingList, "Eggs", "Yogurt", "Milk", "Bananas", "Apples", "Tide with bleach", "Cascade","candy","Dental Floss","Toothpaste");
shoppingList.addAll(Arrays.asList("ice cream","hand lotion"));
adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, shoppingList);
lv = (ListView) findViewById(R.id.listview);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int Position, long id) {
Toast.makeText(MainActivity.this, " You Selected "+((TextView) view).getText() , Toast.LENGTH_SHORT).show();
selected = new ArrayList();
Collections.addAll(selected,((TextView) view).getText());
System.out.println(((TextView) view).getText());
}
});
}
public void checkout(View view){
Intent intent = new Intent(this,SelectedItemsControl.class);
startActivity(intent);
}
tun fallowing werde ich direkt auf sie, danke – Evan
kleines Missverständnis hier, "shoppingList" ist die erste Liste von Objekten, die die ListView in der ersten Aktivität füllt mein Ziel ist es, die ausgewählten Gegenstände zu erhalten b y Der Benutzer, den ich aus dem OnItemClick-Listener abrufe, sind diese ausgewählten Elemente, die ich an die nächste Aktivität senden möchte. Kannst du mir dabei helfen? – Evan
Erstellen Sie eine neue Liste der ausgewählten Artikel und fügen Sie die Elemente aus der Einkaufsliste und senden Sie dann –