package cn.shangyu.gdxzExpert.activity; import android.content.Intent; import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.LinearLayout.LayoutParams; import android.widget.ListView; import com.gyf.immersionbar.ImmersionBar; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import cn.shangyu.gdxzExpert.R; import cn.shangyu.gdxzExpert.base.BaseActivity; import cn.shangyu.gdxzExpert.bean.TestingBean; import cn.shangyu.gdxzExpert.http.OnCallBackFromNet; import cn.shangyu.gdxzExpert.utils.CommonUtil; import cn.shangyu.gdxzExpert.utils.GsonTools; import cn.shangyu.gdxzExpert.utils.ImageOptions; import cn.shangyu.gdxzExpert.utils.LogUtil; import cn.shangyu.gdxzExpert.utils.StringUtil; import cn.shangyu.gdxzExpert.utils.UIUtils; import cn.shangyu.gdxzExpert.utils.Url; import cn.shangyu.gdxzExpert.view.RollViewPager; import cn.shangyu.gdxzExpert.view.RollViewPager.OnPagerClickCallback; import cn.shangyu.gdxzExpert.widget.LoadingPage.ResultState; public class TestingActivity extends BaseActivity implements OnCallBackFromNet, OnItemClickListener { private View view; // private LinearLayout mLabel_one_news; private View topNewsView; private TestingActivity mActivity; private LinearLayout dotLl; private LinearLayout mViewPagerLay; private ArrayList urlList; private RollViewPager mViewPager; private ArrayList dotList; private ListView mLv_testing; private TestingAdapter mAdapter; private LinearLayout ll_hos_select; @Override public void setTitle() { // TODO Auto-generated method stub top_title.setText("肝病检测"); } @Override public View onCreateSuccessedView() { // TODO Auto-generated method stub ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init(); view = UIUtils.inflate(R.layout.activity_testing); mActivity = this; // mLabel_one_news = (LinearLayout) // view.findViewById(R.id.label_news);// 初始化RadioGroup布局 mLv_testing = (ListView) view.findViewById(R.id.lv_testing); topNewsView = UIUtils.inflate(R.layout.layout_roll_testing_view); dotLl = (LinearLayout) topNewsView.findViewById(R.id.dots_ll); ll_hos_select = (LinearLayout) topNewsView .findViewById(R.id.ll_hos_select); mViewPagerLay = (LinearLayout) topNewsView .findViewById(R.id.top_news_viewpager); // newsAdapter = new NewsAdapter(mActivity); // 根据手机尺寸设置顶部轮播图的宽高 int width = mActivity.getResources().getDisplayMetrics().widthPixels; // int height = CommonUtil.dip2px(mActivity, 180); int height = width * 320 / 640; if (width < 720) { height = width * 7 / 16 - 10; // height = width/2; LogUtil.i("width=" + width + "height=" + height); } ViewGroup.LayoutParams ivLp = mViewPagerLay .getLayoutParams(); ll_hos_select.setVisibility(View.GONE); ivLp.width = width; ivLp.height = height; mAdapter = new TestingAdapter(); mViewPagerLay.setLayoutParams(ivLp); mLv_testing.setOnItemClickListener(this); getNewsList(); return view; } public final int GET_SCOLL_RESULT = 101; private void getNewsList() { Map param = new HashMap(); sendParamtoNet(Url.getDetectionIndex, param, GET_SCOLL_RESULT, mActivity, false); } @Override public ResultState onLoad() { // TODO Auto-generated method stub return ResultState.STATE_SUCCESSED; } @Override protected void processClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { // case R.id.iv_testing_1: // } // // break; default: break; } } @Override public void onCallbackFromThread(String resultJson) { // TODO Auto-generated method stub processData(resultJson); } TestingBean bean; private void processData(String result) { // TODO Auto-generated method stub bean = GsonTools.fromGsonToBean(result, TestingBean.class);// if (!StringUtil.isOneToCode(bean.code)) { if (bean.roll != null && bean.roll.size() > 0) { urlList = new ArrayList(); for (int i = 0; i < bean.roll.size(); i++) { if (!TextUtils.isEmpty(bean.roll.get(i).getImgpath())) { urlList.add(Url.urlHtml + bean.roll.get(i).getImgpath());// //封面图片 } else { urlList.add(""); } } // 轮播图的点 initDot(bean.roll.size()); mViewPager = new RollViewPager(mActivity, dotList, R.drawable.dot_focus, R.drawable.dot_normal, // 轮播图点击事件 new OnPagerClickCallback() { @Override public void onPagerClick(int position) { Intent intent = new Intent(mActivity, TestingUrlDetailActivity.class); intent.putExtra("title", bean.roll .get(position).getTitle()); intent.putExtra("imageurl", bean.roll .get(position).getImgpath()); intent.putExtra("url", bean.roll.get(position) .getPath()); startActivity(intent); } }); mViewPager.setLayoutParams(new LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); // top图片地址 mViewPager.setUriList(urlList); // 开始滚动 mViewPager.startRoll(); // 加载到布局 mViewPagerLay.removeAllViews(); mViewPagerLay.addView(mViewPager); mLv_testing.addHeaderView(topNewsView); } mLv_testing.setAdapter(mAdapter); } } /** * 实例化轮播图点 initDot * * @param size * void */ private void initDot(int size) { dotList = new ArrayList(); dotLl.removeAllViews(); for (int i = 0; i < size; i++) { LayoutParams params = new LayoutParams( CommonUtil.dip2px(mActivity, 6), CommonUtil.dip2px( mActivity, 6)); params.setMargins(5, 0, 5, 0); View m = new View(mActivity); if (i == 0) { m.setBackgroundResource(R.drawable.dot_focus); } else { m.setBackgroundResource(R.drawable.dot_normal); } m.setLayoutParams(params); dotLl.addView(m); dotList.add(m); } } @Override public void onCallBackFromThread(String resultJson, int resultCode) { // TODO Auto-generated method stub } @Override public void onStop() { // TODO Auto-generated method stub if (mViewPager != null) { mViewPager.stopRunning(); } super.onStop(); } @Override public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub int headerViewsCount = mLv_testing.getHeaderViewsCount(); int position=arg2-headerViewsCount; Intent intent = new Intent(mActivity, TestingDetailActivity.class); intent.putExtra("title", bean.type_2.get(position).getTitle()); intent.putExtra("id", bean.type_2.get(position).getId()); intent.putExtra("call", bean.type_2.get(position).getContact()); startActivity(intent); } public class TestingAdapter extends BaseAdapter { @Override public int getCount() { // TODO Auto-generated method stub return bean.type_2.size(); } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return bean.type_2.get(arg0); } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return arg0; } @Override public View getView(int arg0, View arg1, ViewGroup arg2) { // TODO Auto-generated method stub View view = UIUtils.inflate(R.layout.item_testing_lv); ImageView image = (ImageView) view.findViewById(R.id.iv_testing); ImageLoader.getInstance().displayImage( Url.urlHtml + bean.type_2.get(arg0).getImgpath(), image, ImageOptions .getImageOptions(R.drawable.home_scroll_default)); return view; } } }