package cn.edu.njupt.allgo.fragment; import com.manuelpeinado.fadingactionbar.FadingActionBarHelper; import uk.co.senab.actionbarpulltorefresh.library.PullToRefreshAttacher; import uk.co.senab.actionbarpulltorefresh.library.PullToRefreshAttacher.OnRefreshListener; import cn.edu.njupt.allgo.R; import cn.edu.njupt.allgo.activity.EventPageACTIVITY; import cn.edu.njupt.allgo.activity.HomeACTIVITY; import cn.edu.njupt.allgo.activity.IntroACTIVITY; import cn.edu.njupt.allgo.activity.MyEventACTIVITY; import cn.edu.njupt.allgo.activity.UpdateAvatarACTIVTIY; import cn.edu.njupt.allgo.activity.UpdateUserDetailACTIVITY; import cn.edu.njupt.allgo.fragment.child.BaseChildFRAGMENT; import cn.edu.njupt.allgo.logic.RefreshInterFace; import cn.edu.njupt.allgo.logic.UserDataLogic; import cn.edu.njupt.allgo.logicImpl.UserDataLogicImpl; import cn.edu.njupt.allgo.util.DateUtil; import cn.edu.njupt.allgo.util.ImageUtil; import cn.edu.njupt.allgo.vo.UserDataVo; import cn.edu.njupt.allgo.widget.CircularImage; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.ScrollView; import android.widget.TextView; import android.widget.Toast; public class IntroFRAGMENT extends BaseChildFRAGMENT implements RefreshInterFace { private TextView textView_intro_UName; private TextView textView_intro_USatement; private TextView TextView_intro_USex; private TextView TextView_intro_UEmail; private TextView TextView_intro_UBirthday; private TextView TextView_intro_URegDate; private TextView TextView_intro_UAddress; private UserDataVo userdata ; boolean freshFlag = false; private UserDataLogic userDataLogic ; private FadingActionBarHelper mFadingHelper; private CircularImage cover_user_photo; private Button button_openMyEvent; private ImageUtil imageUtil; private Button button_UpdateDetail1; private Button button_UpdateDetail2; private Button button_UpdateDetail3; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreateView(inflater, container, savedInstanceState); setFragmentFlag("IntroFRAGMENT"); userdata = new UserDataVo(); userDataLogic = new UserDataLogicImpl(getActivity(),this,userdata); View view = mFadingHelper.createView(inflater); return view; } @Override public void onAttach(Activity activity) { // TODO 自动生成的方法存根 super.onAttach(activity); mFadingHelper = new FadingActionBarHelper() .actionBarBackground(R.drawable.ActionBarColor) .headerLayout(R.layout.intro_header_light) .contentLayout(R.layout.fragment_intro) .headerOverlayLayout(R.layout.intro_header_overlay); mFadingHelper.initActionBar(activity); } @Override public void onActivityCreated(Bundle savedInstanceState){ super.onActivityCreated(savedInstanceState); findViewById(); setView(); } private void findViewById() { textView_intro_UName = (TextView) getView().findViewById(R.id.textView_intro_UName); textView_intro_USatement = (TextView) getView().findViewById(R.id.textView_intro_USatement); TextView_intro_USex = (TextView) getView().findViewById(R.id.TextView_intro_USex); TextView_intro_UEmail = (TextView) getView().findViewById(R.id.TextView_intro_UEmail); TextView_intro_UBirthday = (TextView) getView().findViewById(R.id.TextView_intro_UBirthday); TextView_intro_URegDate = (TextView) getView().findViewById(R.id.TextView_intro_URegDate); TextView_intro_UAddress = (TextView) getView().findViewById(R.id.TextView_intro_UAddress); cover_user_photo = (CircularImage) getView().findViewById(R.id.cover_user_photo); button_openMyEvent = (Button)getView().findViewById(R.id.button_openMyEvent); button_UpdateDetail1 = (Button)getView().findViewById(R.id.button_UpdateDetail1); button_UpdateDetail2 = (Button)getView().findViewById(R.id.button_UpdateDetail2); button_UpdateDetail3 = (Button)getView().findViewById(R.id.button_UpdateDetail3); imageUtil = new ImageUtil(getActivity()); imageUtil.configDefaultLoadFailedImage(R.drawable.ic_avatar_120); } private void setView() { initUserData(); OnClickListener clickListener = new View.OnClickListener() { @Override public void onClick(View v) { new AlertDialog.Builder(getActivity()) .setItems(R.array.update_userdetail_array, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { ((IntroACTIVITY)getActivity()).dialog_click(which); } }) .show(); } }; button_UpdateDetail1.setOnClickListener(clickListener); button_UpdateDetail2.setOnClickListener(clickListener); button_UpdateDetail3.setOnClickListener(clickListener); button_openMyEvent.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getActivity(),MyEventACTIVITY.class); startActivity(intent); } }); } private void initUserData() { userDataLogic.initUserData(); } private void setUserData(UserDataVo userdata) { this.userdata = userdata ; textView_intro_UName.setText(isNull(userdata.getUname())?"用户名":userdata.getUname()); textView_intro_USatement.setText(isNull(userdata.getUsatement())?"还没写个性宣言":userdata.getUsatement()); TextView_intro_USex.setText((userdata.getUsex() == 1)?"男":"女"); TextView_intro_UEmail.setText(userdata.getUemail()); TextView_intro_UBirthday.setText(isNull(userdata.getUbirthday())?"还没填写出生日期":DateUtil.showDate(userdata.getUbirthday() , "yyyy年MM月d日")); TextView_intro_URegDate.setText(isNull(DateUtil.showDate(userdata.getUregdate() , "yyyy年MM月d日"))?"用户的注册日期":DateUtil.showDate(userdata.getUregdate() , "yyyy年MM月d日")); TextView_intro_UAddress.setText(isNull(userdata.getUaddress())?"用户的所在地":userdata.getUaddress()); imageUtil.displayAvatar(cover_user_photo, userdata.getUid()); } private boolean isNull(String arg){ boolean flag = false ; if(arg == null|| arg.equals("")){ flag = true; } return flag; } @Override public void saveData() { userDataLogic.saveUserData(); } @Override public void refresh(Object result, int kind) { switch(kind){ case 1: this.userdata = (UserDataVo)result; setUserData(this.userdata); break; case 2: //联网更新 this.userdata = (UserDataVo)result; setUserData(this.userdata); freshFlag = false; Toast.makeText(getActivity(), "已更新", Toast.LENGTH_SHORT).show(); break; case -1: Toast.makeText(getActivity(), (String)result, Toast.LENGTH_SHORT).show(); freshFlag = false; break; } } public void get() { if(!freshFlag){ userDataLogic.getUserData(); freshFlag = true; }else{ Toast.makeText(getActivity(), "正在刷新", Toast.LENGTH_SHORT).show(); } } public void dialog_click(int which) { switch(which){ case 0: //修改头像 Intent intent = new Intent(getActivity(),UpdateAvatarACTIVTIY.class); Bundle bundle = new Bundle(); bundle.putSerializable("user", userdata); intent.putExtras(bundle); startActivity(intent); break; case 1: //修改个人信息 Intent intent2 = new Intent(getActivity(),UpdateUserDetailACTIVITY.class); Bundle bundle2 = new Bundle(); bundle2.putSerializable("user", userdata); intent2.putExtras(bundle2); startActivity(intent2); } } public void refresh(UserDataVo user) { this.userdata =user; setUserData(this.userdata); Toast.makeText(getActivity(), "已更新", Toast.LENGTH_SHORT).show(); saveData(); } public void updateAvatar() { imageUtil.clearCacheAvatar(userdata.getUid()); this.get(); } }