Ich versuche, ein Restaurant-Menü mit Bestellfunktion zu machen. Es gibt eine einfache Listenansicht mit Produktnamen, Preis und Hinzufügen, Schaltflächen entfernen. Was ich will ist, wenn ein Benutzer auf die Schaltfläche "HINZUFÜGEN" klickt, der Produktname und Preis wird zu einer Arraylist oder etwas hinzugefügt, so dass ich diese Liste in einer anderen Aktivität abrufen und den Gesamtpreis anzeigen kann. Ich kann SQLite verwenden, um die Artikel zu speichern, aber dann weiß ich nicht, wie man den Preis jedes ausgewählten Produkts (in der zweiten Aktivität) zum Hinzufügen erhält. Gibt es eine besondere Möglichkeit, Elemente wie POJO und Adapter zu speichern?Hinzufügen/Entfernen von Produkten zum Warenkorb in der Listenansicht
public class MainActivity extends AppCompatActivity {
private ListView listView;
private ArrayList<Model> mListData;
private CustomListAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView)findViewById(R.id.list);
mListData = new ArrayList<>();
mListData.add(new Model("Beef Manhattan", "50"));
mListData.add(new Model("Chicken Fried Steak", "90"));
mListData.add(new Model("Corned Beef", "100"));
mListData.add(new Model("Domesticated Turkey", "80"));
mListData.add(new Model("Eggs Benedict", "10"));
mListData.add(new Model("French Dip", "20"));
mListData.add(new Model("Green Bean Casserole", "30"));
mListData.add(new Model("Potato Salad", "40"));
mListData.add(new Model("Pumpkin Pie", "60"));
mListData.add(new Model("Salisbury Steak", "70"));
adapter = new CustomListAdapter(this, R.layout.listrow, mListData);
listView.setAdapter(adapter);
}
}
public class CustomListAdapter extends ArrayAdapter<Model> {
private Context mContext;
int resource;
private ArrayList<Model> mListData = new ArrayList<Model>();
public CustomListAdapter(Context mContext, int resource, ArrayList<Model> mListData) {
super(mContext, resource, mListData);
this.resource = resource;
this.mContext = mContext;
this.mListData = mListData;
}
public void setListData(ArrayList<Model> mListData) {
this.mListData = mListData;
notifyDataSetChanged();
}
@Override
public int getCount() {
return super.getCount();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
ViewHolder holder;
if (v == null) {
holder = new ViewHolder();
LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
v = inflater.inflate(resource, parent, false);
holder.name = (TextView) v.findViewById(R.id.name);
holder.rate = (TextView) v.findViewById(R.id.rate);
holder.add = (Button) v.findViewById(R.id.add);
holder.remove = (Button) v.findViewById(R.id.remove);
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
Model item = mListData.get(position);
holder.name.setText(item.getName());
holder.rate.setText(item.getRate());
return v;
}
class ViewHolder {
TextView name;
TextView rate;
Button add;
Button remove;
}
}
public class Model {
private String name, rate;
public Model(String name, String rate) {
this.name = name;
this.rate = rate;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRate() {
return rate;
}
public void setRate(String rate) {
this.rate = rate;
}
}
http://www.androiddom.com/2011/06/android-shopping-cart-tutorial-part-2.html –
Sie wissen nicht, wie SQL SUM Anweisung zu verwenden ? –
@ cricket_007. Nein, ich habe es bis jetzt nicht benutzt. Kannst du mir ein Beispiel geben, wie ich Db-Objekte zu listview holen werde? –