一些解析

来源:互联网 发布:ubuntu怎么上传文件 编辑:程序博客网 时间:2024/03/28 19:39
package com.bwie.test.shouye;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import com.bwie.test.R;
import com.bwie.test.adapter.ImageAdapter;
import com.bwie.test.adapter.MyListviewadapter;
import com.bwie.test.adapter.MyPagerAdapter2;
import com.bwie.test.adapter.Myadapter4;
import com.bwie.test.adapter.TaolunAdapter;
import com.bwie.test.bean.DetailsBean;
import com.bwie.test.bean.UserBean;
import com.bwie.test.bean.DetailsBean.Data0.Activity1;
import com.bwie.test.bean.DetailsBean.Data0.Comments;
import com.bwie.test.bean.DetailsBean.Data0.Goods.Attributes1;
import com.bwie.test.bean.DetailsBean.Data0.Goods.Gallery;
import com.bwie.test.bean.TupianBean;
import com.bwie.test.draw.ListViewForScrollView;
import com.bwie.test.helper.MyDBHelper;
import com.bwie.test.people.ServiceActivity;
import com.bwie.test.shopcar.TakePhotoPopWin;
import com.bwie.test.shopcar.TakePhotoPopWin1;
import com.bwie.test.utils.NewWorkUtils;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.LinearLayout.LayoutParams;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Paint;

@SuppressLint("HandlerLeak")
public class DetailsActivity extends Activity implements OnClickListener {

    private String path = "http://m.yunifang.com/yunifang/mobile/goods/detail?random=6716&encode=b02382bd9e457e06e09b68a6a4f26eb4&id=";
    DetailsBean bean;
    List<Activity1> list;
    List<Comments> list1;
    LinearLayout ll_doc;
    List<Gallery> list2;
    List<ImageView> lViews = new ArrayList<ImageView>();
    List<Attributes1> list3;
    private TextView xiaoliang;
    private TextView shoucang;
    private TextView head;
    private ImageView back;
    private String path1;
    private TextView count;
    private TextView name;
    private TextView price;
    private TextView marketprice;
    private TextView xiangqing;
    private TextView canshu;
    private ListViewForScrollView listview;
    private ListViewForScrollView listview1;
    private ListViewForScrollView listview2;
    private ListViewForScrollView listview3;
    // List<Url>list4;
    private Intent intent;

    @SuppressLint("HandlerLeak")
    private Handler handler = new Handler() {
        public void handleMessage(android.os.Message msg) {
            int num = msg.what;
            switch (num) {
            case 0:
                vp.setAdapter(new MyPagerAdapter2(DetailsActivity.this, list2));
                initDot();
                // 设置初使化的索引
                vp.setCurrentItem(1000000);
                // 监听事件
                ViewPagerPagerListener();
                break;
            default:
                break;
            }
        };
    };
    private ScrollView ss;
    private ViewPager vp;
    private Button sercive;
    private Button shopcar;
    private Button shopping;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_details);
        Intent intent = getIntent();
        String id = intent.getStringExtra("id");
        path1 = path + id;
        // 获得控件
        Initview();
        // 获得数据
        Initdata();
        head.setText("商品详情");
        xiangqing.setSelected(true);
        // 返回事件
        Backclick();
        // listview的点击事件
        ListviewClick();
        listview1.setVisibility(View.VISIBLE);
        // Initdata1();
    }

    protected void ViewPagerPagerListener() {

        vp.setOnPageChangeListener(new OnPageChangeListener() {

            @Override
            public void onPageSelected(int position) {

                for (int i = 0; i < lViews.size(); i++) {

                    if (i == position % lViews.size()) {
                        lViews.get(position % lViews.size()).setImageResource(
                                R.drawable.dot1);
                    } else {
                        lViews.get(i).setImageResource(R.drawable.dot2);
                    }

                }

            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
                // TODO Auto-generated method stub

            }
        });
    }

    /**
     * 初始化点
     */
    private void initDot() {
        if (lViews != null) {
            lViews.clear();
        }
        for (int i = 0; i < list.size(); i++) {
            ImageView iv = new ImageView(this);
            if (i == 0) {
                // 如果
                iv.setImageResource(R.drawable.dot1);
            } else {
                iv.setImageResource(R.drawable.dot2);
            }

            LayoutParams parmas = new LayoutParams(20, 20);
            parmas.setMargins(10, 0, 10, 0);
            ll_doc.addView(iv, parmas);
            lViews.add(iv);
        }
    }

    /**
     * 网页
     */
    private void ListviewClick() {
        listview.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                if (arg2 == 0) {
                    intent = new Intent(DetailsActivity.this,
                            WebviewActivity.class);
                    intent.putExtra("www1", "登录");
                    intent.putExtra("www", list.get(0).description);
                    startActivity(intent);
                } else if (arg2 == 1) {
                    intent = new Intent(DetailsActivity.this,
                            WebviewActivity.class);
                    intent.putExtra("www1", "海量赠品任性选");
                    intent.putExtra("www", list.get(1).description);
                    startActivity(intent);
                } else if (arg2 == 2) {
                    intent = new Intent(DetailsActivity.this,
                            WebviewActivity.class);
                    intent.putExtra("www1", "全场满立减");
                    intent.putExtra("www", list.get(2).description);
                    startActivity(intent);
                }
            }
        });
    }

    /**
     * 返回
     */
    private void Backclick() {
        back.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                back.setSelected(true);
                finish();
            }
        });
    }

    private void Initdata() {
        new Thread() {
            private List<TupianBean> gb;

            public void run() {
                String json = NewWorkUtils.getstr(path1,
                        getApplicationContext());
                Gson gson = new Gson();
                bean = gson.fromJson(json, DetailsBean.class);
                list = bean.data.activity;
                list1 = bean.data.comments;
                list2 = bean.data.goods.gallery;
                list3 = bean.data.goods.attributes;
                String goods_desc = bean.data.goods.goods_desc;
                Type listType = new TypeToken<List<TupianBean>>() {
                }.getType();
                gb = gson.fromJson(goods_desc, listType);

                handler.sendEmptyMessage(0);
                runOnUiThread(new Runnable() {
                    public void run() {
                        listview1.setAdapter(new ImageAdapter(getApplicationContext(), gb));
                        listview3.setAdapter(new TaolunAdapter(
                                getApplicationContext(), list1, bean));
                        listview2.setAdapter(new Myadapter4(
                                getApplicationContext(), list3));
                        listview.setAdapter(new MyListviewadapter(
                                getApplicationContext(), list));
                        count.setText("评论(" + bean.data.commentNumber + ")");
                        shoucang.setText(bean.data.goods.collect_count);
                        xiaoliang.setText(bean.data.goods.sales_volume);
                        name.setText(bean.data.goods.goods_name);
                        price.setText(bean.data.goods.shop_price);
                        marketprice.setText(bean.data.goods.market_price);
                        marketprice.getPaint().setFlags(
                                Paint.STRIKE_THRU_TEXT_FLAG);

                    }
                });
            };
        }.start();
    }

    private void Initview() {
        sercive = (Button) findViewById(R.id.service);
        shopcar = (Button) findViewById(R.id.shopcar);
        shopping = (Button) findViewById(R.id.shopping);
        vp = (ViewPager) findViewById(R.id.vp);
        ss = (ScrollView) findViewById(R.id.sss5);
        ss.smoothScrollTo(0, 0);
        ll_doc = (LinearLayout) findViewById(R.id.ll_doc);
        shou = (ImageView)findViewById(R.id.shoucang);
        back = (ImageView) findViewById(R.id.back);
        head = (TextView) findViewById(R.id.head);
        count = (TextView) findViewById(R.id.count);
        name = (TextView) findViewById(R.id.name);
        xiangqing = (TextView) findViewById(R.id.xiangqing);
        canshu = (TextView) findViewById(R.id.canshu);
        price = (TextView) findViewById(R.id.price);
        marketprice = (TextView) findViewById(R.id.marketprice);
        xiaoliang = (TextView) findViewById(R.id.textView6);
        shoucang = (TextView) findViewById(R.id.textView4);
        count.setOnClickListener(this);
        sercive.setOnClickListener(this);
        shopcar.setOnClickListener(this);
        shopping.setOnClickListener(this);
        xiangqing.setOnClickListener(this);
        canshu.setOnClickListener(this);
        shou.setOnClickListener(this);
        listview = (ListViewForScrollView) findViewById(R.id.MyListview);
        listview1 = (ListViewForScrollView) findViewById(R.id.MyListview1);
        listview2 = (ListViewForScrollView) findViewById(R.id.MyListview2);
        listview3 = (ListViewForScrollView) findViewById(R.id.MyListview3);
    }

    /**
     * 关闭选中
     */
    public void Isselected() {
        xiangqing.setSelected(false);
        canshu.setSelected(false);
        count.setSelected(false);
    }

    /**
     * 关闭选中
     */
    public void IsVisibility() {
        listview1.setVisibility(View.GONE);
        listview2.setVisibility(View.GONE);
        listview3.setVisibility(View.GONE);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.xiangqing:
            Isselected();
            xiangqing.setSelected(true);
            IsVisibility();
            listview1.setVisibility(View.VISIBLE);
            break;
        case R.id.canshu:
            Isselected();
            canshu.setSelected(true);
            IsVisibility();
            listview2.setVisibility(View.VISIBLE);
            break;
        case R.id.count:
            Isselected();
            count.setSelected(true);
            IsVisibility();
            listview3.setVisibility(View.VISIBLE);
            break;
        case R.id.service:
            intent = new Intent(DetailsActivity.this, ServiceActivity.class);
            startActivity(intent);
            break;
        case R.id.shoucang:
            shou.setSelected(true);
            MyDBHelper helper=new MyDBHelper(getApplicationContext());
            //插入数据
            SQLiteDatabase db = helper.getWritableDatabase();
            ContentValues values = new ContentValues();
            UserBean bean1 = new UserBean();
            bean1.setName(bean.data.goods.goods_name);
            bean1.setPrice(bean.data.goods.shop_price);
            bean1.setImage(bean.data.goods.goods_img);
            bean1.setPrice1(bean.data.goods.market_price);
            List<UserBean>list=new ArrayList<UserBean>();
            list.add(bean1);
            values.put("image", bean.data.goods.goods_img);
            values.put("name", bean.data.goods.goods_name);
            values.put("price", bean.data.goods.shop_price);
            values.put("price1", bean.data.goods.market_price);
            db.insert("user", null, values);
            Toast.makeText(getApplicationContext(), "收藏成功", Toast.LENGTH_SHORT).show();
            break;
        case R.id.shopping:
            TakePhotoPopWin takePhotoPopWin = new TakePhotoPopWin(this,bean);
            //设置Popupwindow显示位置(从底部弹出)
            takePhotoPopWin.showAtLocation(findViewById(R.id.main), Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 0);
            params = getWindow().getAttributes();
            //当弹出Popupwindow时,背景变半透明
            params.alpha=0.7f;
            getWindow().setAttributes(params);
            //设置Popupwindow关闭监听,当Popupwindow关闭,背景恢复1f
            takePhotoPopWin.setOnDismissListener(new PopupWindow.OnDismissListener() {
                @Override
                public void onDismiss() {
                    params = getWindow().getAttributes();
                    params.alpha=1f;
                    getWindow().setAttributes(params);
                }
            });

            break;
        case R.id.shopcar:
            TakePhotoPopWin1 takePhotoPopWin1 = new TakePhotoPopWin1(this,bean);
            //设置Popupwindow显示位置(从底部弹出)
            takePhotoPopWin1.showAtLocation(findViewById(R.id.main), Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 0);
            params = getWindow().getAttributes();
            //当弹出Popupwindow时,背景变半透明
            params.alpha=0.7f;
            getWindow().setAttributes(params);
            //设置Popupwindow关闭监听,当Popupwindow关闭,背景恢复1f
            takePhotoPopWin1.setOnDismissListener(new PopupWindow.OnDismissListener() {
                @Override
                public void onDismiss() {
                    params = getWindow().getAttributes();
                    params.alpha=1f;
                    getWindow().setAttributes(params);
                }
            });
            break;

        default:
            break;
        }
    }
    private ImageView shou;
    private android.view.WindowManager.LayoutParams params;
}

0 0
原创粉丝点击