Fragment里面做一个Viewpage的自动无限循环会死!
先附上代码
package com.qingting.fragment;
import java.util.ArrayList;
import java.util.List;
import com.example.qingtingtest.R;
import com.qingting.adapter.ChoicenessAdapter;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
/**
* @ClassName: ChoicenessFragment
* @Description: TODO(发现——精选)
* @author chh
* @date 2015年11月19日 下午4:57:20
*
*/
public class Discover_ChoicenessFragment extends Fragment {
private View mlayout;
private ViewPager mViewpager;
private List<View> mList;
private int[] imageId = { R.drawable.list_item_bob_bg, R.drawable.list_item_bulb_bg,
R.drawable.list_item_bulbsocket_bg, R.drawable.list_item_mov_bg, R.drawable.list_item_socket_bg };
private Handler mhandler = new Handler() {
@Override
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 1:
int total = mList.size();
int currentItem = mViewpager.getCurrentItem();
int toItem = currentItem == total ? 0 : currentItem + 1;
mViewpager.setCurrentItem(toItem);
break;
}
sendEmptyMessageDelayed(1, 2000);
};
};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mlayout = inflater.inflate(R.layout.fragment_discover_choiceness, container, false);
initView();
return mlayout;
}
private void initView() {
mViewpager = (ViewPager) mlayout.findViewById(R.id.choice_viewpager);
mList = new ArrayList<View>();
for (int i = 0; i < imageId.length; i++) {
addView(imageId[i]);
}
mViewpager.setAdapter(new ChoicenessAdapter(mList));
}
private void addView(int id) {
ImageView imageView = new ImageView(getActivity());
imageView.setImageResource(id);
imageView.setScaleType(ScaleType.FIT_XY);
mList.add(imageView);
}
@Override
public void onResume() {
mhandler.sendEmptyMessageDelayed(1, 2000);
super.onResume();
}
/*
* (非 Javadoc) <p>Title: onPause</p> <p>Description: </p>
*
* @see android.support.v4.app.Fragment#onPause()
*/
@Override
public void onPause() {
// TODO Auto-generated method stub
Log.e("Discover_ChoicenessFragment", "Discover_ChoicenessFragment-------onPuase()");
mhandler.removeMessages(1);
super.onPause();
}
@Override
public void onDestroy() {
mhandler.removeMessages(1);
}
}