単純なAdapter.iを使用してリストビューを作成しました。キーと値(HashMap)の形式で行データを取得しています.i特定の行をデータベースに挿入したいのですが、問題は行データを取得するときですアイテムが1より大きい場合、キーと値の形式で来て、データベースの次の行にどのようにデータを追加することができますか。リストビューからデータをMapの形式で取得すると、特定の行データをデータベースに追加するにはどうすればよいですか?
これは、メソッド()私はリストビューにシンプルなアダプタを設定し、マップから各項目を反復処理していたことである: -
private void showList(List<LineItem> list) {
saleList = new ArrayList<Map<String, String>>();
for (LineItem line : list) {
saleList.add(line.toMap());
}
SimpleAdapter sAdap;
sAdap = new SimpleAdapter(getActivity().getBaseContext(), saleList,
R.layout.listview_lineitem, new String[]{"name", "quantity", "price"}, new int[]{R.id.name, R.id.quantity, R.id.price});
saleListView.setAdapter(sAdap);
for (Map<String, String> map : saleList) {
Iterator iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry pair = (Map.Entry) iterator.next();
Log.e("key..::>>", "" + pair.getKey());
Log.e("value..::>>", "" + pair.getValue());.
}
}
}
そして、これが私のモデルクラスである: -
public class LineItem {
private final Product product;
private int quantity;
private int id;
private double unitPriceAtSale;
public static final int UNDEFINED = -1;
public LineItem(Product product, int quantity) {
this(UNDEFINED, product, quantity, product.getUnitPrice());
}
public LineItem(Product product) {
this.product = product;
}
public LineItem(int id, Product product, int quantity,
double unitPriceAtSale) {
this.id = id;
this.product = product;
this.quantity = quantity;
this.unitPriceAtSale = unitPriceAtSale;
}
public Product getProduct() {
return product;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
public void addQuantity(int amount) {
this.quantity += amount;
}
public double getTotalPriceAtSale() {
return unitPriceAtSale * quantity;
}
public Map<String, String> toMap() {
Map<String, String> map = new HashMap<String, String>();
map.put("name", product.getName());
map.put("quantity", quantity + "");
map.put("price", getTotalPriceAtSale() + "");
return map;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public void setUnitPriceAtSale(double unitPriceAtSale) {
this.unitPriceAtSale = unitPriceAtSale;
}
public Double getPriceAtSale() {
return unitPriceAtSale;
}
@Override
public boolean equals(Object object) {
if (object == null)
return false;
if (!(object instanceof LineItem))
return false;
LineItem lineItem = (LineItem) object;
return lineItem.getId() == this.getId();
}
}
私は名前、価格、数量を正しく取得しています。データベースに名前、価格、数量を追加したいのですが、問題はキーと値の形式で名前、価格、 。私はデータベースにこれらのものを追加することを考えていますが、私はミューを持っているときに私はデータベースにデータを挿入することができます複数の行のデータをデータベースに挿入したいのです(リストビューの行データのように、データベースにデータを追加したい) 。
私logcatは、次のとおりです。 -
10-19 16:56:59.824 18890-18890/com.refresh.pos E/key..::>>: quantity
10-19 16:56:59.824 18890-18890/com.refresh.pos E/value..::>>: 1
10-19 16:56:59.824 18890-18890/com.refresh.pos E/key..::>>: price
10-19 16:56:59.824 18890-18890/com.refresh.pos E/value..::>>: 200.0
10-19 16:56:59.824 18890-18890/com.refresh.pos E/key..::>>: name
10-19 16:56:59.824 18890-18890/com.refresh.pos E/value..::>>: aman
10-19 16:56:59.824 18890-18890/com.refresh.pos E/key..::>>: quantity
10-19 16:56:59.824 18890-18890/com.refresh.pos E/value..::>>: 2
10-19 16:56:59.824 18890-18890/com.refresh.pos E/key..::>>: price
10-19 16:56:59.824 18890-18890/com.refresh.pos E/value..::>>: 5556.0
10-19 16:56:59.824 18890-18890/com.refresh.pos E/key..::>>: name
10-19 16:56:59.824 18890-18890/com.refresh.pos E/value..::>>: cghg
i want to add item in database like :-
three fields :- quantity price name
1 200.0 aman
2 5556.0 cghg
I hope anyone understand now what i want to do.
私が理解する限り、名前、価格、数量をデータベースに保存したいとします。それは正しいですか? –
@Mohammad Zはい!しかし、私はハッシュマップからデータを取得しているとき、私はキーとvalue.thenの形で取得しているどのように私のlogcatを参照してくださいmuliple rows.pleaseでデータベースのsavedataことができます。私はそれを更新しました。あなたが理解することを願っています。 – LoveAndroid
hashmapオブジェクトの複数の値が正しいと思いますか?価格= 8999、数量= 900、名前= "yyy"、価格= 6779、数量= 700 –