package com.hjx.personalcenter.fragment; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.annotation.Nullable; 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.AdapterView; import android.widget.GridView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.hjx.personalcenter.R; import com.hjx.personalcenter.activity.ChangePresonalInfoActivity; import com.hjx.personalcenter.adapter.GridAdapter; import com.hjx.personalcenter.customdialog.VerSionDialog; import com.hjx.personalcenter.db.SaveParam; import com.hjx.personalcenter.http.HttpCode; import com.hjx.personalcenter.http.HttpManager; import com.hjx.personalcenter.interfaces.DialogCallBack; import com.hjx.personalcenter.model.DefautPublishInfo; import com.hjx.personalcenter.model.VersionInfo; import com.squareup.picasso.Picasso; import java.util.ArrayList; import java.util.List; /** * Created by h on 2017/8/12. */ public class VersionsInfoFragment extends Fragment implements AdapterView.OnItemClickListener, View.OnClickListener, DialogCallBack.VersionCallBack { private GridView gridView; private ArrayList defautPublishInfos = new ArrayList<>(); private GridAdapter sim_adapter; private View mView; private int type; private ImageView cances; private LinearLayout tv_presons; private TextView publish, sub; private ImageView simpleDraweeView; public static String TABLAYOUT_FRAGMENT = "versionfragment"; private String chinese, math,english,physics,chemistry,history,geography,political,biology,science; public static VersionsInfoFragment newInstance(int type) { VersionsInfoFragment fragment = new VersionsInfoFragment(); Bundle bundle = new Bundle(); bundle.putSerializable(TABLAYOUT_FRAGMENT, type); fragment.setArguments(bundle); return fragment; } Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case HttpCode.PUBLISH_SUCESS: defautPublishInfos.clear(); defautPublishInfos.addAll((List) msg.obj); sim_adapter.notifyDataSetChanged(); for (int i = 0; i < defautPublishInfos.size(); i++) { String subject = defautPublishInfos.get(i).getSubject(); if (subject.equals("语文")) { chinese = defautPublishInfos.get(i).getPress(); } else if (subject.equals("数学")) { math = defautPublishInfos.get(i).getPress(); } else if (subject.equals("英语")) { english = defautPublishInfos.get(i).getPress(); } else if (subject.equals("物理")) { physics = defautPublishInfos.get(i).getPress(); } else if (subject.equals("化学")) { chemistry = defautPublishInfos.get(i).getPress(); } else if (subject.equals("历史")) { history = defautPublishInfos.get(i).getPress(); } else if (subject.equals("地理")) { geography = defautPublishInfos.get(i).getPress(); } else if (subject.equals("政治")) { political = defautPublishInfos.get(i).getPress(); }else if (subject.equals("生物")) { biology = defautPublishInfos.get(i).getPress(); }else if (subject.equals("科学")) { science = defautPublishInfos.get(i).getPress(); } } break; } } }; @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { if (mView == null) { mView = inflater.inflate(R.layout.fragment_changge_version_info, container, false); String userID = SaveParam.getInstance().getLoginParam(getActivity(), "userId"); String graderid = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.GRADENS); // //子账户年级id // String graderidchilds = SaveParam.getInstance().getCustomizeParam(getActivity(), SaveParam.CHILDSGRADENS); //账户类型 String accounts = SaveParam.getInstance().getCustomizeParam(getActivity(), SaveParam.ACCOUNT); String childID = SaveParam.getInstance().getCustomizeParam(getActivity(),SaveParam.CHILDSID); try { Object auserID; int type; int graderIDs =Integer.parseInt(graderid); if ("2".equals(accounts)){ type=Integer.parseInt(accounts); auserID =childID; }else { type =Integer.parseInt(accounts); auserID =Long.parseLong(userID); } //获取版本信息 HttpManager.getInstance().getpublishinfo(getActivity(),auserID,graderIDs,type,handler); } catch (NumberFormatException e) { e.printStackTrace(); } initView(mView); initData(); setLister(); } return mView; } //初始化 private void initView(View mView) { gridView = (GridView) mView.findViewById(R.id.grideview); cances = (ImageView) mView.findViewById(R.id.cancel); sub = (TextView) mView.findViewById(R.id.version_sub); tv_presons = (LinearLayout) mView.findViewById(R.id.tv_presons); } private void initData() { sim_adapter = new GridAdapter(defautPublishInfos, getActivity()); //配置适配器 gridView.setAdapter(sim_adapter); } private void setLister() { gridView.setOnItemClickListener(this); sub.setOnClickListener(this); tv_presons.setOnClickListener(this); cances.setOnClickListener(this); } @Override public void onItemClick(AdapterView parent, View view, int position, long id) { SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.SUBJECT, defautPublishInfos.get(position).getSubject()); VerSionDialog.getInstance(this).show(getChildFragmentManager(), "VerSionDialog"); simpleDraweeView = (ImageView) view.findViewById(R.id.image_publish); publish = (TextView) view.findViewById(R.id.tv_publish); } @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser){ String userID = SaveParam.getInstance().getLoginParam(getActivity(), "userId"); //String graderid = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.GRADENS); String graderid = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.VIEGREADE); // //子账户年级id // String graderidchilds = SaveParam.getInstance().getCustomizeParam(getActivity(), SaveParam.CHILDSGRADENS); //账户类型 String accounts = SaveParam.getInstance().getCustomizeParam(getActivity(), SaveParam.ACCOUNT); String childID = SaveParam.getInstance().getCustomizeParam(getActivity(),SaveParam.CHILDSID); try { Object auserID; int type; int graderIDs =Integer.parseInt(graderid); if ("2".equals(accounts)){ type=Integer.parseInt(accounts); auserID =childID; }else { type =Integer.parseInt(accounts); auserID =Long.parseLong(userID); } //获取版本信息 HttpManager.getInstance().getpublishinfo(getActivity(),auserID,graderIDs,type,handler); } catch (NumberFormatException e) { e.printStackTrace(); } } } @Override public void onResume() { String userID = SaveParam.getInstance().getLoginParam(getActivity(), "userId"); String graderid = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.GRADENS); // //子账户年级id // String graderidchilds = SaveParam.getInstance().getCustomizeParam(getActivity(), SaveParam.CHILDSGRADENS); //账户类型 String accounts = SaveParam.getInstance().getCustomizeParam(getActivity(), SaveParam.ACCOUNT); String childID = SaveParam.getInstance().getCustomizeParam(getActivity(),SaveParam.CHILDSID); try { Object auserID; int type; int graderIDs =Integer.parseInt(graderid); if ("2".equals(accounts)){ type=Integer.parseInt(accounts); auserID =childID; }else { type =Integer.parseInt(accounts); auserID =Long.parseLong(userID); } //获取版本信息 HttpManager.getInstance().getpublishinfo(getActivity(),auserID,graderIDs,type,handler); } catch (NumberFormatException e) { e.printStackTrace(); } super.onResume(); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.version_sub: Log.e("test", "你提交版本信息"); String userID = SaveParam.getInstance().getLoginParam(getActivity(), "userId"); //子账户id String childsidid = SaveParam.getInstance().getCustomizeParam(getActivity(), SaveParam.CHILDSID); //账户类型 String accounts = SaveParam.getInstance().getCustomizeParam(getActivity(), SaveParam.ACCOUNT); try { String id = null; //String piblish = "清华大学出版社"; if ("2".equals(accounts)) { id = childsidid; } else { id = userID; } //修改版本信息 HttpManager.getInstance().changepublishinfo(getActivity(), id,chinese,math,english,physics,chemistry,history,geography,political,biology,science); } catch (NumberFormatException e) { e.printStackTrace(); } break; case R.id.tv_presons: final ChangePresonalInfoActivity mainActivity = (ChangePresonalInfoActivity) getActivity(); mainActivity.setFragment2Fragment(new ChangePresonalInfoActivity.Fragment2Fragment() { @Override public void gotoFragment(ViewPager viewPager) { //fragment传递数据 viewPager.setCurrentItem(0); } }); mainActivity.forSkip(); break; case R.id.cancel: getActivity().finish(); break; } } @Override public void versionOnItemClick(ArrayList data, int position, int type) { String imageurl = data.get(position).getPressCover(); String publishs = data.get(position).getPressName(); if (imageurl!=null&&!imageurl.isEmpty()) { Picasso.with(getActivity()).load(imageurl).into(simpleDraweeView); } publish.setText(publishs); String subject = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.SUBJECT); Log.e("test", "选择的科目" + subject); if ("语文".equals(subject)) { chinese = publishs; } else if ("数学".equals(subject)) { math = publishs; }else if ("英语".equals(subject)) { english = publishs; }else if ("物理".equals(subject)) { physics = publishs; }else if ("化学".equals(subject)) { chemistry = publishs; }else if ("历史".equals(subject)) { history = publishs; }else if ("地理".equals(subject)) { geography = publishs; }else if ("政治".equals(subject)) { political = publishs; }else if ("生物".equals(subject)) { biology = publishs; }else if ("科学".equals(subject)) { science = publishs; } } }