package com.mathiasluo.designer.view.fragment; import android.databinding.DataBindingUtil; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.mathiasluo.designer.R; import com.mathiasluo.designer.bean.Shot; import com.mathiasluo.designer.databinding.ContentShotBinding; import com.mathiasluo.designer.model.ImageModelImpl; /** * Created by MathiasLuo on 2016/3/18. */ public class SingleShotFragment extends BaseLazyFragment implements View.OnClickListener { private Shot shot; private ContentShotBinding binding; private boolean isVisible; public SingleShotFragment(Shot shot) { this.shot = shot; } public SingleShotFragment() { } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.content_shot, container, false); binding = DataBindingUtil.bind(view); init(); return view; } private void init() { binding.headContent.imgShare.setOnClickListener(this); binding.headContent.imgBack.setOnClickListener(this); } @Override void onFirstUserVisible() { if (shot != null) setData(); } @Override public void setData() { if (!isVisible) { showProgress(); bindData(); } } private void bindData() { binding.setShot(shot); ImageModelImpl.getInstance().loadImage(shot.getImages().getNormal(), binding.imageShot); isVisible = true; closeProgress(); } @Override public void setData(Shot shot) { this.shot = shot; if (binding != null) { bindData(); } } @Override public void onDestroyView() { super.onDestroyView(); isVisible = false; } @Override void onUserVisible() { } @Override void onFirstUserInvisible() { } @Override void onUserInvisible() { } @Override public void showProgress() { super.showProgress(); binding.fragmentProgressBar.setVisibility(View.VISIBLE); } @Override public void closeProgress() { super.closeProgress(); binding.fragmentProgressBar.setVisibility(View.INVISIBLE); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.img_back: getActivity().finish(); break; case R.id.img_share: break; case R.id.img_shot_favorite: break; } } }