package com.jmi.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; public class Dian extends Activity { Set<GreenSelected> greenselected=new HashSet<GreenSelected>();//存放已经选择的菜 String[] greenname={"东坡肉","霸王蟹","波士顿虾","鳕鱼","神户牛肉"}; String[] greenprice={"20.00","300.00","200.00","100.00","200.00"}; int[] greenimgs=new int[]{R.drawable.i1,R.drawable.i2,R.drawable.i3,R.drawable.i4,R.drawable.i5}; ListView listview; //生成动态数组,存放数据 ArrayList<HashMap<String, Object>> mylist = new ArrayList<HashMap<String, Object>>(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.diana); listview=(ListView) findViewById(R.id.listView1); getData();//调用mydata方法,将mylist写入 //新建一个适配器 MyAdapter myadapter =new MyAdapter(this); //listview控件装载适配器 listview.setAdapter(myadapter); } //getData方法的功能:将数据存放入mylist private void getData(){ for(int i=0;i<greenname.length;i++){ HashMap<String, Object> map = new HashMap<String, Object>(); map.put("ItemName", greenname[i]); map.put("ItemPrice", greenprice[i]); map.put("ItemImage", greenimgs[i]); mylist.add(map); } } //编写特定的适配器类,必须继承已有的基本适配器类 class MyAdapter extends BaseAdapter{ private LayoutInflater mInflater;//获得视图 //与上下文 即当前的活动关联起来 public MyAdapter(Context context){ this.mInflater=LayoutInflater.from(context); } @Override public int getCount() { // TODO Auto-generated method stub return mylist.size();//size方法是干什么的 } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView(final int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHolder holder =null;//准备存放一行的四个控件 if (convertView == null) { holder=new ViewHolder(); //可以理解为从vlist获取view 之后把view返回给ListView convertView = mInflater.inflate(R.layout.mylistitem, null); holder.image = (ImageView)convertView.findViewById(R.id.imageView1); holder.name = (TextView)convertView.findViewById(R.id.textView1); holder.price = (TextView)convertView.findViewById(R.id.textView2); holder.viewBtn = (Button)convertView.findViewById(R.id.button1); convertView.setTag(holder); }else { holder = (ViewHolder)convertView.getTag(); } holder.image.setImageResource(greenimgs[position]); holder.name.setText((String)mylist.get(position).get("ItemName")); holder.price.setText((String)mylist.get(position).get("ItemPrice")); holder.viewBtn.setTag(position); //给Button添加单击事件 添加Button之后ListView将失去焦点 //需要的直接把Button的焦点去掉 android:focusable="false" holder.viewBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub GreenSelected newgreen = new GreenSelected(); newgreen.name = mylist.get(position).get("ItemName").toString(); newgreen.price = mylist.get(position).get("ItemPrice").toString(); newgreen.image = greenimgs[position]; greenselected.add(newgreen);//将选中的菜单序号存入set中 Log.i("选中:"+mylist.get(position).get("ItemName").toString(),mylist.get(position).get("ItemPrice").toString()); //在日志中显示所有已经选中的菜 for(GreenSelected it:greenselected){ Log.i("已经选中的:"+it.name,"该菜价格:"+it.price); }}}); return convertView; } } //内部类,与每一行数据对应 class ViewHolder{ public ImageView image;//菜的图片 public TextView name; //菜名 public TextView price; //菜的单价 public Button viewBtn; //+号按钮 } public void toList (View theButton){ Intent intent = new Intent(Dian.this,ListActivity.class); intent.putExtra("list",(Serializable)greenselected); startActivity(intent); } }

3542741340 LV1
2024年12月12日
aliguaguagua LV1
2023年10月12日
2074520745 LV1
2023年6月24日
yyyyyyzh LV8
2023年6月11日
1602701143 LV1
2023年6月3日
我真不会打篮球 LV1
2023年6月3日
龙门客栈 LV9
2023年6月1日
chloe0417 LV1
2023年5月29日
倾城之恋1 LV5
2023年5月21日
202105013142 LV1
2023年1月31日

chenranr LV10
2024年12月26日
3542741340 LV1
2024年12月12日
nghiavudev
2024年11月3日
暂无贡献等级
wjs-zuizui
2024年10月19日
暂无贡献等级
微信网友_7143536520269824 LV1
2024年8月28日
2636804923 LV6
2024年6月19日
咩咩咩咩咩 LV2
2024年6月17日
adminadminsqwqe LV8
2024年6月14日
AIWU1234 LV2
2024年6月9日
1941549176 LV4
2024年6月4日