package com.wpl.xiangmu.yunifang.frgament
import android.content.Intent
import android.os.AsyncTask
import android.os.Bundle
import android.os.Handler
import android.support.v4.app.Fragment
import android.support.v4.view.ViewPager
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.ListView
import android.widget.ScrollView
import android.widget.TextView
import android.widget.Toast
import com.google.gson.Gson
import com.nostra13.universalimageloader.core.ImageLoader
import com.wpl.xiangmu.yunifang.activity.BaiduMapActivity
import com.wpl.xiangmu.yunifang.utils.GetIntent
import com.wpl.xiangmu.yunifang.R
import com.wpl.xiangmu.yunifang.activity.AllShopActivity
import com.wpl.xiangmu.yunifang.activity.DuihuanActivity
import com.wpl.xiangmu.yunifang.activity.HuiyuanActivity
import com.wpl.xiangmu.yunifang.activity.JiFenActivity
import com.wpl.xiangmu.yunifang.activity.ZhenWeiActivity
import com.wpl.xiangmu.yunifang.adapter.IndexListviewAdapter
import com.wpl.xiangmu.yunifang.adapter.IndexPagerAdapter
import com.wpl.xiangmu.yunifang.bean.IndexData
import com.wpl.xiangmu.yunifang.bean.IndexData.Ad1
import com.wpl.xiangmu.yunifang.bean.IndexData.Ad5
import com.wpl.xiangmu.yunifang.bean.IndexData.GroupBriefs
import com.wpl.xiangmu.yunifang.utils.NetWorkUtils
import java.util.ArrayList
public class IndexFragment extends Fragment {
public View v
private ViewPager vp
private String path = "http://m.yunifang.com/yunifang/mobile/home?random=17257&encode=56f7b9f64804f3c6423bb3ee62eab517"
private String huiyuanpath="http://mobile.hmeili.com/yunifang/web/member/gift"
private String xinrenpath="http://mobile.hmeili.com:7900/yunifang/web/help/cash"
private ArrayList<Ad1> imglist
private ImageView img_qiaodao
private ImageView img_jifen
private ImageView img_duihuan
private ImageView img_chaxun
private TextView tv_qiandao
private TextView tv_jifen
private TextView tv_duihuan
private TextView tv_chaxun
private ListView lv
private TextView mAll_shop
private ImageView mChoujiang
private ImageView mxinren
private ImageView mHuiyuanquanyi
private ScrollView mScl
private ImageView address
private Handler mhandler = new Handler() {
public void handleMessage(android.os.Message msg) {
int a = msg.what
switch (a) {
case 0:
vp.setCurrentItem(100000)
vp.setAdapter(new IndexPagerAdapter(getActivity(), imglist, mhandler))
sendEmptyMessage(1)
break
case 1:
int count = vp.getCurrentItem()
count++
vp.setCurrentItem(count)
mhandler.sendEmptyMessageDelayed(1, 2000)
break
default:
break
}
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
v = inflater.inflate(R.layout.shouye, null)
return v
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState)
// 获取控件
initview()
//判断网络
boolean is = GetIntent.GetInfo(getActivity())
if (is) {
// 获取数据
initData()
} else {
Toast.makeText(getActivity(), "没有网路连接", Toast.LENGTH_LONG).show()
}
mScl.setFocusable(true)
//全部商品的点击事件
mAll_shop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), AllShopActivity.class)
startActivity(intent)
}
})
//积分商城
img_jifen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), JiFenActivity.class)
startActivity(intent)
}
})
//兑换
img_duihuan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), DuihuanActivity.class)
startActivity(intent)
}
})
//查询
img_chaxun.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), ZhenWeiActivity.class)
startActivity(intent)
}
})
//会员权益
mHuiyuanquanyi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new Intent(getActivity(), HuiyuanActivity.class)
in.putExtra("path",huiyuanpath)
in.putExtra("name","会员权益")
startActivity(in)
}
})
//新人首单
mxinren.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new Intent(getActivity(), HuiyuanActivity.class)
in.putExtra("path",xinrenpath)
in.putExtra("name","新用户首单立减20元")
startActivity(in)
}
})
//百度地图
Baidu()
}
private void Baidu() {
//百度地图定位
address.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), BaiduMapActivity.class)
startActivity(intent)
}
})
}
private void initData() {
new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... params) {
// 调用请求方法
String json = NetWorkUtils.getstr(path)
return json
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result)
// 解析
Gson gson = new Gson()
IndexData bean = gson.fromJson(result, IndexData.class)
imglist = bean.data.ad1
ArrayList<Ad5> ivList = bean.data.ad5
ArrayList<IndexData.Ad3> choujiang = bean.data.ad3
ArrayList<IndexData.Ad4> xinren = bean.data.ad4
ArrayList<GroupBriefs> grouplist = bean.data.groupBriefs
//listview的适配器
lv.setAdapter(new IndexListviewAdapter(getActivity(), grouplist))
lv.setFocusable(false)
//给图片和文字赋值
tv_qiandao.setText(ivList.get(0).title)
tv_jifen.setText(ivList.get(1).title)
tv_duihuan.setText(ivList.get(2).title)
tv_chaxun.setText(ivList.get(3).title)
ImageLoader imageLoader = ImageLoader.getInstance()
imageLoader.displayImage(ivList.get(0).image, img_qiaodao)
imageLoader.displayImage(ivList.get(1).image, img_jifen)
imageLoader.displayImage(ivList.get(2).image, img_duihuan)
imageLoader.displayImage(ivList.get(3).image, img_chaxun)
imageLoader.displayImage(choujiang.get(0).lottery_img, mChoujiang)
imageLoader.displayImage(xinren.get(0).image, mxinren)
imageLoader.displayImage(xinren.get(1).image, mHuiyuanquanyi)
// 发送空消息
mhandler.sendEmptyMessage(0)
}
}.execute()
}
private void initview() {
vp = (ViewPager) v.findViewById(R.id.vp)
img_qiaodao = (ImageView) v.findViewById(R.id.qiaodao)
img_jifen = (ImageView) v.findViewById(R.id.jifen)
img_duihuan = (ImageView) v.findViewById(R.id.duihuan)
img_chaxun = (ImageView) v.findViewById(R.id.chaxun)
tv_qiandao = (TextView) v.findViewById(R.id.qiandao_tv)
tv_jifen = (TextView) v.findViewById(R.id.jifen_tv)
tv_duihuan = (TextView) v.findViewById(R.id.duihuan_tv)
tv_chaxun = (TextView) v.findViewById(R.id.chaxun_tv)
mScl = (ScrollView) v.findViewById(R.id.scl)
lv = (ListView) v.findViewById(R.id.lv)
mAll_shop = (TextView) v.findViewById(R.id.all)
mChoujiang = (ImageView) v.findViewById(R.id.choujiang)
mxinren = (ImageView) v.findViewById(R.id.xinren)
mHuiyuanquanyi = (ImageView) v.findViewById(R.id.huiyuanquanyi)
//百度地图定位
address = (ImageView) v.findViewById(R.id.address)
}
}
适配器
package com.wpl.xiangmu.yunifang.adapter;
import android.content.Context;
import android.os.Handler;
import android.support.v4.view.PagerAdapter;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.wpl.xiangmu.yunifang.utils.MyInit;
import com.wpl.xiangmu.yunifang.R;
import com.wpl.xiangmu.yunifang.bean.IndexData.Ad1;
import java.util.ArrayList;
public class IndexPagerAdapter extends PagerAdapter {
Context context;
ArrayList<Ad1> imglist;
Handler mhandler;
public IndexPagerAdapter(Context context, ArrayList<Ad1> imglist, Handler mhandler) {
this.context=context;
this.imglist=imglist;
this.mhandler=mhandler;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0==arg1;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View v = View.inflate(context, R.layout.index_vp_item, null);
ImageView img = (ImageView) v.findViewById(R.id.vp_img);
img.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mhandler.removeCallbacksAndMessages(null);
break;
case MotionEvent.ACTION_UP:
mhandler.sendEmptyMessageDelayed(1, 2000);
break;
case MotionEvent.ACTION_CANCEL:
mhandler.sendEmptyMessageDelayed(1, 2000);
break;
default:
break;
}
return true;
}
});
ImageLoader.getInstance().displayImage(imglist.get(position%imglist.size()).image, img, MyInit.options());
container.addView(v);
return v;
}
}