首页>代码>andriod实现的简单奶茶管理系统>/Dddtext_bak/app/src/main/java/abeam/example/dddtext/AdminOrderActivity.java
package abeam.example.dddtext;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;







import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import DBUtils.DatabaseAdapter;


public class AdminOrderActivity extends Activity {
	Set<model.ViewHolder> greenselected= new HashSet<>();//存放已经选择的菜

	String[] greenname={"仙草奶茶","柠檬奶茶","朗姆奶茶","雪顶咖啡","梅梅奶茶"};
	String[] greenprice={"10.00","15.00","25.00","12.00","20.00"};
	int[] greenimgs=new int[]{R.drawable.i2,R.drawable.i2,R.drawable.i2,R.drawable.i2,R.drawable.i2};
	ListView listview;
	//生成动态数组,存放数据   
    ArrayList<HashMap<String, Object>> Memulist =
			new ArrayList<>();

    public static long orderId = 0L;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.listmenu);

       
        listview= findViewById(R.id.SelectedItem);
        getData();//调用mydata方法,将Memulist写入
        //新建一个适配器
        MyAdapter myadapter =new MyAdapter(this);
        //listview控件装载适配器
        listview.setAdapter(myadapter);
    }
  //getData方法的功能:将数据存放入Memulist
  	private void getData(){
  		for(int i=0;i<greenname.length;i++){
  			HashMap<String, Object> map = new HashMap<>();
              map.put("ItemName", greenname[i]);  
              map.put("ItemPrice", greenprice[i]);  
              map.put("ItemImage", greenimgs[i]);  
              Memulist.add(map);
  		}
  	}
  //编写特定的适配器类,必须继承已有的基本适配器类
  class MyAdapter extends BaseAdapter{

		DatabaseAdapter db = new DatabaseAdapter(getApplicationContext());
		private final LayoutInflater mInflater;//获得视图
		//与上下文 即当前的活动关联起来
		public MyAdapter(Context context){
		this.mInflater=LayoutInflater.from(context);
		}

		@Override
		public int getCount() {
		return Memulist.size();//size方法是干什么的
		}


		@Override
		public Object getItem(int arg0) {
			return null;
		}

		@Override
		public long getItemId(int position) {
			return 0;
		}

		@Override
		public View getView(final int position, View convertView, ViewGroup parent) {
			ViewHolder holder;//准备存放一行的四个控件
			if (convertView == null) {
				holder= new ViewHolder();
				//可以理解为从vlist获取view 之后把view返回给ListView
				convertView = mInflater.inflate(R.layout.menulist, null);
				holder.image = convertView.findViewById(R.id.imageView1);
				holder.name = convertView.findViewById(R.id.textView1);
				holder.price = convertView.findViewById(R.id.textView2);
				holder.viewBtn = convertView.findViewById(R.id.SelectOne);
				convertView.setTag(holder);
			}else {
				holder = (ViewHolder)convertView.getTag();
			}
				holder.image.setImageResource(greenimgs[position]);
				holder.name.setText((String)Memulist.get(position).get("ItemName"));
				holder.price.setText((String)Memulist.get(position).get("ItemPrice"));
				holder.viewBtn.setTag(position);
				//给Button添加单击事件 添加Button之后ListView将失去焦点
				//需要的直接把Button的焦点去掉  android:focusable="false"
				holder.viewBtn.setOnClickListener(v -> {
				//是否清除了已选择菜单
				if(ListActivity.selectedItemFlag){
					greenselected.clear();
				}
				ListActivity.selectedItemFlag = false;
				// 如果选择奶茶数量>1,则不可以
				if(!MainActivity.adminFlag && greenselected.size()>=1){
					Toast.makeText(AdminOrderActivity.this,R.string.SelectError,Toast.LENGTH_LONG).show();
				} else {
					model.ViewHolder newgreen = new model.ViewHolder();
					newgreen.name = Memulist.get(position).get("ItemName").toString();
					newgreen.price = Memulist.get(position).get("ItemPrice").toString();
					newgreen.image = greenimgs[position];
					greenselected.add(newgreen);//将选中的菜单序号存入set中
					Log.i("选中:"+Memulist.get(position).get("ItemName").toString(),Memulist.get(position).get("ItemPrice").toString());

					//插入DB
					db.open();
					orderId = db.insertData(position,MainActivity.useridTemp,newgreen.name,newgreen.price,newgreen.image);
					Log.e("已插入项目:",newgreen.name);
					Log.e("已插入项目:",newgreen.price);
					Log.e("已插入项目:",String.valueOf(newgreen.image));
					db.close();
					//在日志中显示所有已经选中的菜
					for(model.ViewHolder it:greenselected){
						Log.i("已经选中的:"+it.name,"该菜价格:"+it.price);
					}
				}
				});

				return convertView;
		}

		}
		//内部类,与每一行数据对应
		static class ViewHolder{
			public ImageView image;//菜的图片
			public TextView name; //菜名
			public TextView price; //菜的单价
			public Button viewBtn; //+号按钮
		}

		public void toList (View theButton){
			Intent intent = new Intent(AdminOrderActivity.this,ListActivity.class);
			intent.putExtra("list",(Serializable)greenselected);
			startActivity(intent);

		}
}
最近下载更多
hhhhhz  LV7 2023年11月14日
yyyyyyzh  LV8 2023年6月11日
微信网友_6505997864357888  LV3 2023年6月11日
ly0729  LV2 2023年6月3日
qazwer11  LV5 2023年5月22日
路人贾jqh  LV1 2023年5月3日
lmroman  LV8 2023年4月26日
2754137495  LV6 2023年3月29日
sks666  LV5 2023年2月19日
tong07  LV2 2022年12月19日
最近浏览更多
求学的熊猫  LV7 5月6日
wxb666  LV3 3月13日
FishYu11 1月19日
暂无贡献等级
yerwiu  LV10 1月6日
liuyanga 1月5日
暂无贡献等级
kincaid 1月2日
暂无贡献等级
不止是六位数  LV7 2023年12月15日
fesfefe  LV13 2023年12月9日
郑唯希 2023年11月28日
暂无贡献等级
statics  LV1 2023年11月27日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友