import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
public class DetailActivity extends Activity {
private Gallery[] galleries;
private ViewPager vp;
private LinearLayout ll;
private ArrayList ivList;
Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
if (msg.what==0) {
//msg.obj;
//设置适配器
vp.setAdapter(new MyPagerAdapter(DetailActivity.this));
//设置监听
vp.setOnPageChangeListener(new OnPageChangeListener() {
public void onPageSelected(int arg0) {
for (int i = 0; i < ivList.size(); i++) {
if (arg0%5==i) {
ivList.get(i).setImageResource(R.drawable.dot_select);
}else{
ivList.get(i).setImageResource(R.drawable.dot);
}
}
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
public void onPageScrollStateChanged(int arg0) {
}
});
}
if (msg.what==1) {
int currentItem = vp.getCurrentItem();
currentItem++;
vp.setCurrentItem(currentItem);
handler.sendEmptyMessageDelayed(1, 2000);
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
vp = (ViewPager) findViewById(R.id.vp);
ll = (LinearLayout) findViewById(R.id.ll);
//初始化小圆点
initDot();
getData("http://...");
//实现轮播
handler.sendEmptyMessageDelayed(1, 2000);
}
public void initDot(){
ivList = new ArrayList<ImageView>();
for (int i = 0; i <galleries.length; i++) {
ImageView iv = new ImageView(this);
if (i==0) {
iv.setImageResource(R.drawable.dot_select);
}else{
iv.setImageResource(R.drawable.dot);
}
ivList.add(iv);
LayoutParams params=new LayoutParams(20, 20);
params.setMargins(5, 0, 5, 0);
ll.addView(iv, params);
}
}
//获取网络数据
private void getData(final String string) {
new Thread(new Runnable() {
public void run() {
try {
URL url = new URL(string);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
int responseCode = connection.getResponseCode();
if (responseCode==200) {
InputStream inputStream = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
Gson g = new Gson();
goodsDtails gd = g.fromJson(br, goodsDtails.class);
handler.obtainMessage(0, gd).sendToTarget();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
//MyPagerAdapter
public class MyPagerAdapter extends PagerAdapter {
private Context context;
private Gallery[] galleries;
public MyPagerAdapter(Context context, Gallery[] galleries) {
super();
this.context = context;
this.galleries = galleries;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0==arg1;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
public Object instantiateItem(android.view.ViewGroup container, int position) {
ImageView iv = new ImageView(context);
ImageLoader.getInstance().displayImage(galleries[position%galleries.length].normal_url, iv);
container.addView(iv);
return iv;
};
public void destroyItem(android.view.ViewGroup container, int position, Object object) {
container.removeView((View) object);
};
}