package com.jshop.android.shop; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.ActivityInfo; import android.database.Cursor; import android.os.Bundle; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.text.Html; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.jshop.android.action.JshopMGoodsListAction; import com.jshop.android.action.JshopMelectrocartAction; import com.jshop.android.holder.ElecartListViewHolder; import com.jshop.android.holder.GoodsListViewHolder; import com.jshop.android.index.R; import com.jshop.android.shop.JshopActivityNGoodsList.JshopMyElecartListViewAdapter; import com.jshop.android.sqlite.DBHelper; import com.jshop.android.util.Arith; public class JshopActivityNGoodsViewPager extends Activity { private final DBHelper dbhelper=new DBHelper(this); //private View v;//viewpager中的视图 private ViewGroup maingroup; private ViewPager viewPager; private ImageView addtomyelecartmenu;//加入我的菜单按钮 private ArrayList<View>pageViews=new ArrayList<View>(); private ListView listViewForCart;//used by cartlist private Double total=0.0; private TextView totalmemberprice;//显示我的菜单总价 private GoodsListViewHolder holder = new GoodsListViewHolder(); private ArrayList<HashMap<String, Object>> electrocartgoodslists = new ArrayList<HashMap<String, Object>>();//elecart private ArrayList<HashMap<String,Object>> goodslist=new ArrayList<HashMap<String,Object>>(); private JshopMGoodsListAction jmGoodsListAction = new JshopMGoodsListAction(); private JshopMelectrocartAction jmelecart=new JshopMelectrocartAction(); public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); super.requestWindowFeature(Window.FEATURE_NO_TITLE);//设置无标题窗口 super.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//全屏模式 super.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//强制为横屏 final LayoutInflater inflater=getLayoutInflater(); maingroup=(ViewGroup) inflater.inflate(R.layout.jshop_m_goodslistviewpager, null); viewPager=(ViewPager) maingroup.findViewById(R.id.goodslistPages); //调用另一个布局初始化我的菜单 Context mContext = JshopActivityNGoodsViewPager.this; LayoutInflater inflaterele = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE); String goodsCategoryTid = this.getIntent().getStringExtra("goodsCategoryTid"); Cursor c = dbhelper.queryByParamgoodsCategoryTid(DBHelper.GOODS_TM_NAME,goodsCategoryTid); try{ goodslist = jmGoodsListAction.getGoodsListSQLiteNoBitmap(c); }catch(IOException e){ e.printStackTrace(); }//通过商品分类ID 得到商品数据 if(!goodslist.isEmpty()){ pageViews.clear(); for(int i=0;i<goodslist.size();i++){ View view=inflater.inflate(R.layout.jshop_m_forgoodsviewpager, null); holder.setPictureurl((ImageView) view.findViewById(R.id.goodsimage)); holder.setGoodsname((TextView) view.findViewById(R.id.goodsname)); holder.setWeight((TextView) view.findViewById(R.id.valueweight)); holder.setUnitname((TextView) view.findViewById(R.id.unit)); holder.setMemberprice((TextView) view.findViewById(R.id.memprice)); holder.setDetail((TextView) view.findViewById(R.id.goodsdetail)); holder.setAddtomyelecartmenu((ImageView) view.findViewById(R.id.addtomyelecartmenu)); pageViews.add(view); } } this.setContentView(maingroup); viewPager.setAdapter(new JshopActivityNGoodsViewPageAdapter()); viewPager.setOnPageChangeListener(new JshopActivityNGoodsViewPagerChangeListener()); } /** * 点击加入我的菜单 * @param goodslists * @param arg2 */ public void showConfirmAddtoCart(final ArrayList<HashMap<String, Object>> goodslists,final int arg2){ AlertDialog.Builder bulider=new AlertDialog.Builder(this); bulider.setMessage("确定加入我的菜单吗?").setCancelable(false).setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String goodsid=goodslists.get(arg2).get("goodsid").toString(); String goodsname=goodslists.get(arg2).get("goodsname").toString(); String memberprice=goodslists.get(arg2).get("memberprice").toString(); String pictureurl=goodslists.get(arg2).get("pictureurl").toString(); String needquantity="1"; jmelecart.setGoodsToElecartSQLite(goodsid,goodsname,memberprice,pictureurl,needquantity, getApplicationContext()); } }).setNegativeButton("取消", null); AlertDialog alert=bulider.create(); alert.show(); } /** * ViewPager的适配器 * @author "chenda" * */ /** * 对左右滚动空间进行适配器定义和操作 */ class JshopActivityNGoodsViewPageAdapter extends PagerAdapter{ @Override public int getCount() { return pageViews.size(); } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0==arg1; } @Override public void destroyItem(View container, int position, Object object) { ((ViewPager) container).removeView(pageViews.get(position)); } @Override public void finishUpdate(View container) { // TODO Auto-generated method stub } @Override public Object instantiateItem(View container, final int position) { // TODO Auto-generated method stub View v=new View(container.getContext()); LayoutInflater inflater=(LayoutInflater) container.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); v=inflater.inflate(R.layout.jshop_m_forgoodsviewpager, null, false); holder.setPictureurl((ImageView) v.findViewById(R.id.goodsimage)); holder.setGoodsname((TextView) v.findViewById(R.id.goodsname)); holder.setWeight((TextView) v.findViewById(R.id.valueweight)); holder.setUnitname((TextView) v.findViewById(R.id.unit)); holder.setMemberprice((TextView) v.findViewById(R.id.memprice)); holder.setDetail((TextView) v.findViewById(R.id.goodsdetail)); holder.setAddtomyelecartmenu((ImageView) v.findViewById(R.id.addtomyelecartmenu)); try { holder.getPictureurl().setImageBitmap(jmGoodsListAction.GetLocalOrNetBitmapWithoutScale(goodslist.get(position).get("pictureurl").toString())); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } holder.getGoodsname().setText(goodslist.get(position).get("goodsname").toString()); holder.getWeight().setText(goodslist.get(position).get("weight").toString()); holder.getMemberprice().setText(goodslist.get(position).get("memberprice").toString()); holder.getUnitname().setText(goodslist.get(position).get("unitname").toString()); holder.getDetail().setText(Html.fromHtml(goodslist.get(position).get("detail").toString())); holder.getAddtomyelecartmenu().setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { showConfirmAddtoCart(goodslist, position); } }); ((ViewPager) container).addView(v,0); return v; } @Override public void setPrimaryItem(View container, int position, Object object) { // TODO Auto-generated method stub super.setPrimaryItem(container, position, object); } @Override public void startUpdate(View container) { // TODO Auto-generated method stub super.startUpdate(container); } } // 指引页面更改事件监听器 class JshopActivityNGoodsViewPagerChangeListener implements OnPageChangeListener { public JshopActivityNGoodsViewPagerChangeListener(){ } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageSelected(final int arg0) { } } }