首先,我们需要先实现商品的展示页面
商品主页面框架:
主要代码如下:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/etName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="text"
android:hint="商品名称"
android:layout_weight="1"
/>
<EditText
android:id="@+id/etPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:hint="商品金额"
android:layout_weight="1"
/>
<ImageView
android:id="@+id/ivAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="addGoods"
android:src="@android:drawable/ic_input_add"
/>
</LinearLayout>
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
然后实现其子布局,效果图如下:
主要代码如下:
<TextView android:id="@+id/tvId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1" android:textSize="20sp" android:layout_weight="1" /> <TextView android:id="@+id/tvName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="商品名称" android:textSize="20sp" android:layout_weight="2" /> <TextView android:id="@+id/tvPrice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="商品金额" android:textSize="20sp" android:layout_weight="2" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <ImageView
android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/arrow_up_float"/> <ImageViewandroid:id="@+id/ivUP"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/arrow_down_float"/> </LinearLayout> <ImageView android:id="@+id/ivDelete" android:layout_width="25dp" android:layout_height="25dp" android:src="@android:drawable/ic_menu_delete" /> 然后封装实体类:android:id="@+id/ivDown"
public class Goods { private Long id; private String name; private Integer price; public Goods(Long id, Integer price, String name) { this.id = id; this.price = price; this.name = name; } public Goods(String name, Integer price) { this.name = name; this.price = price; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getPrice() { return price; } public void setPrice(Integer price) { this.price = price; } @Override public String toString() { return "Goods{" + "id=" + id + ", name='" + name + '\'' + ", price=" + price + '}'; } } 创建适配器:
public class GoodAdapter extends ArrayAdapter<Goods>{ private int resounceId; public GoodAdapter(Context context, int resource, List<Goods> objects) { super(context, resource, objects); resounceId=resource; } @NonNull @Override public View getView(int position, View convertView, ViewGroup parent) { Goods goods=getItem(position); View view=null; ViewHolder viewHolder; if (convertView==null){ view= LayoutInflater.from(getContext()).inflate(R.layout.item,null); viewHolder=new ViewHolder(); viewHolder.tvId=(TextView)view.findViewById(R.id.tvId); viewHolder.tvName=(TextView)view.findViewById(R.id.tvName); viewHolder.tvPrice=(TextView)view.findViewById(R.id.tvPrice); viewHolder.ivUP=(ImageView)view.findViewById(R.id.ivUP); viewHolder.ivDown=(ImageView)view.findViewById(R.id.ivDown); viewHolder.ivDelete=(ImageView)view.findViewById(R.id.ivDelete); view.setTag(viewHolder); }else { view=convertView; viewHolder=(ViewHolder)view.getTag(); } viewHolder.tvId.setText(goods.getId()+""); viewHolder.tvName.setText(goods.getName()); viewHolder.tvPrice.setText(goods.getPrice()+""); return view; } class ViewHolder{ TextView tvId; TextView tvName; TextView tvPrice; ImageView ivUP; ImageView ivDown; ImageView ivDelete; } }
实现方法:
public class GoodsDao { private DBHelper dbHelper; public GoodsDao(Context context){ dbHelper=new DBHelper(context,1); } public void add(Goods goods){ SQLiteDatabase sqLiteDatabase=dbHelper.getWritableDatabase(); ContentValues values=new ContentValues(); values.put("name",goods.getName()); values.put("price",goods.getPrice()); sqLiteDatabase.insert("goods",null,values); sqLiteDatabase.close(); } public int delete(long id){ SQLiteDatabase sqLiteDatabase=dbHelper.getWritableDatabase(); int count=sqLiteDatabase.delete("goods","_id=?",new String[]{id+""}); sqLiteDatabase.close(); return count; } public int update(Goods goods){ SQLiteDatabase sqLiteDatabase=dbHelper.getWritableDatabase(); ContentValues values=new ContentValues(); int count=sqLiteDatabase.delete("goods","_id=?",new String[]{id+""}); sqLiteDatabase.close(); return count; }