不要对俺的贴图做评价

看一下代码实现

package com.android.wei.zidingyib;import android.app.Activity;import android.app.AlertDialog;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageButton;import android.widget.ListView;import java.util.*;public class MyActivity extends Activity {     private ListView listView;    private ImageButton imageButton;    private ListViewAdapter listViewAdapter;    private List<Map<String,Object>> listItems;    private Integer[] imgeIDs = {    R.drawable.niao,R.drawable.niao,R.drawable.rui,R.drawable.rui,    R.drawable.ning,R.drawable.ning    };    private String[] goodsNames={    "土豆丝","土豆块","土豆泥","红烧土豆",    "麻辣土豆","清蒸土豆"    };    private String[] goodsDetails={    "土豆丝:便宜又好吃","土豆丝:便宜又好吃","土豆丝:便宜又好吃",    "土豆丝:便宜又好吃","土豆丝:便宜又好吃","土豆丝:便宜又好吃",    };    private int[] money={    2,3,3,10,8,13    };       public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        listView=(ListView) this.findViewById(R.id.listview);        imageButton = (ImageButton) this.findViewById(R.id.imagebutton);        imageButton.setOnClickListener(new  ClickEvent());        listItems = getListItems();        listViewAdapter = new ListViewAdapter(this,listItems);        listView.setAdapter(listViewAdapter);    }    private List<Map<String,Object>> getListItems(){    List<Map<String,Object>> listItems = new ArrayList<Map<String,Object>>();    for(int i=0;i<goodsNames.length;i++){    Map<String,Object> map = new HashMap<String,Object>();    map.put("image", imgeIDs[i]);    map.put("title", goodsNames[i]);    map.put("info", money[i]+"元");    map.put("detail", goodsDetails[i]);    listItems.add(map);    }    return listItems;    }    class ClickEvent implements OnClickListener{    public void onClick(View v){    String goodsList="";    int sun=0;    for(int i=0;i<listItems.size();i++){    goodsList += listViewAdapter.hasChecked(i)?goodsNames[i]+" ":"";    sun +=listViewAdapter.hasChecked(i)?money[i]:0;        }    new AlertDialog.Builder(MyActivity.this)    .setTitle("点菜清单")    .setMessage("你好,你选择的菜:\n"+goodsList+"\n"+"总消费额为:"+sun+"元")    .setPositiveButton("确定",null)    .show();        }    }}
package com.android.wei.zidingyib;
import java.util.List;import java.util.Map;import android.app.AlertDialog;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.ImageView;import android.widget.TextView;public class ListViewAdapter extends BaseAdapter{    private Context context;        private List<Map<String,Object>> listItems;        private LayoutInflater listContainer;        private boolean[] hasChecked;    public final class ListItemView{    public ImageView image;    public TextView title;    public TextView info;    public CheckBox check;    public Button detail;    }        public ListViewAdapter(Context context,List<Map<String,Object>> listItems){    this.context = context;    listContainer = LayoutInflater.from(context);    this.listItems = listItems;    hasChecked = new boolean[getCount()];    }@Overridepublic int getCount() {// TODO Auto-generated method stubreturn listItems.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}private void checkedChange(int checkedID){hasChecked[checkedID] = !hasChecked[checkedID];}public boolean hasChecked(int checkedID){return hasChecked[checkedID];}private void showDetailInfo(int clickID){new AlertDialog.Builder(context)   .setTitle("本菜详情:"+listItems.get(clickID).get("title"))   .setMessage(listItems.get(clickID).get("detail").toString())       .setPositiveButton("确定",null)       .show();}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {final int selectID= position;ListItemView listItemView = null;if(convertView ==null){listItemView = new ListItemView();convertView = listContainer.inflate(R.layout.list_item, null);//获得控件对象listItemView.image =(ImageView) convertView.findViewById(R.id.imageitem);listItemView.title =(TextView) convertView.findViewById(R.id.textview);listItemView.info =(TextView) convertView.findViewById(R.id.textview1);listItemView.detail=(Button) convertView.findViewById(R.id.button);listItemView.check = (CheckBox) convertView.findViewById(R.id.checkItem);   //设置空间集到convertViewconvertView.setTag(listItemView);}else{listItemView = (ListItemView) convertView.getTag();}//设置文字图片listItemView.image.setBackgroundResource((Integer)listItems.get(position).get("image"));listItemView.title.setText((String)listItems.get(position).get("title"));listItemView.info.setText((String) listItems.get(position).get("info"));listItemView.detail.setText("本菜介绍");listItemView.detail.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubshowDetailInfo(selectID);}});listItemView.check.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener(){public void onCheckedChanged(CompoundButton buttonView,boolean isChecked){checkedChange(selectID);}});return convertView;}}

更多相关文章

  1. Android(安卓)如何获取摄像头所支持的所有分辨率
  2. 初识ViewPager【Android】
  3. webview高度自适应图文详情
  4. android中全屏显示
  5. android获取屏幕的宽度和高度
  6. Android复习(十)
  7. android之Notification的使用
  8. Android(安卓)EditText 密码输入框可见性设置
  9. android 闹钟定时任务 AlarmManager

随机推荐

  1. android webview处理下载内容
  2. android studio 3.0 升级 项目遇到的问题
  3. android之simpleAdaper应用
  4. Uploading audio, video or image files
  5. Android sqlite 数据库在java代码中的增
  6. android Fragment
  7. Android使用DigitalClock进行定时抢购
  8. Android 使用FTP上传文件
  9. android 源代码错误
  10. 如何在Android平台上创建自定义的Cordova