SubDocumentBrowserFragment.java 5.13 KB
package com.sunvote.xpadapp.fragment;

import android.annotation.SuppressLint;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;

import com.sunvote.util.LogUtil;
import com.sunvote.xpadapp.R;
import com.sunvote.xpadapp.adapter.DocumentAdapter;
import com.sunvote.xpadapp.bean.Bills;
import com.sunvote.xpadapp.db.DBManager;

import java.util.List;

public class SubDocumentBrowserFragment extends BaseFragment {
	private String TAG = "DocumentBrowserFragment";
	private List<Bills> aryContent = null;
	private Bills bill;
	private TextView tvTitle;
	private ListView listview;
	private TextView tvInfo;
	private TextView tvPage;
	private Button btnModify;
	private int currIndex;
	private DocumentAdapter mAdapter;
	private int page = 0;
	private int totalPage;
	private int votedCount;
	private int modifyable;
	private int secret;
	private int less;//
	private String[] options;
	private boolean isShowBack;
	private static final int pageSize = 1;
	public String title;

	public void setInfo(List<Bills> docList, boolean showBack) {
		isShowBack = showBack;
		aryContent = docList;
		totalPage = aryContent.size() / pageSize;
		if (aryContent.size() % pageSize > 0) {
			totalPage++;
		}

	}

	@SuppressLint("NewApi")
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
		LogUtil.d(TAG, "onCreateView");
		View view = inflater.inflate(R.layout.fragment_document_browser, container, false);
		ImageButton btnBack = view.findViewById(R.id.document_browser_btnback);
		if(isShowBack){
			btnBack.setVisibility(View.VISIBLE);
		}
		btnBack.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				goBack();
			}
		});

		listview =  view.findViewById(R.id.document_browser_listview);
		listview.setFastScrollAlwaysVisible(false);
		mAdapter = new DocumentAdapter(getActivity(),aryContent);
		listview.setAdapter(mAdapter);
		listview.setFastScrollAlwaysVisible(false);
		tvTitle = view.findViewById(R.id.document_browser_title);

		if(title!=null){
			tvTitle.setText(title);
		}else{
			tvTitle.setText(getString(R.string.doc_title));
		}

		Button btnPageUp =  view.findViewById(R.id.document_browser_pageup);
		Button btnPageDown =  view.findViewById(R.id.document_browser_pagedown);
		btnPageUp.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				listview.smoothScrollByOffset(-1);
			}
		});
		btnPageDown.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				listview.smoothScrollByOffset(1);
			}
		});

		listview.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
				LogUtil.d(TAG, "onItemClick:" + position);
				Bills it = aryContent.get(position);
				showDetail(it);
			}

		});

		return view;
	}

	@Override
	public void onResume() {
		LogUtil.d(TAG, "onResume");
		super.onResume();
	}

	@Override
	public void onStart() {
		LogUtil.d(TAG, "onStart");
		super.onStart();
	}

	@Override
	public void onPause() {
		LogUtil.d(TAG, "onStart");
		super.onPause();
	}

	private void goBack() {
		FragmentManager fm = getFragmentManager();
		FragmentTransaction tx = fm.beginTransaction();
		tx.setCustomAnimations(android.R.animator.fade_in,android.R.animator.fade_out);
		tx.remove(SubDocumentBrowserFragment.this);
		tx.commit();

	}

	private void showDetail(Bills item) {

		if(item.getBillType() == 20){
			List<Bills> list = DBManager.getInstance().getSubBillItems(item.getBillId());
			FragmentManager fm = getFragmentManager();
			FragmentTransaction tx = fm.beginTransaction();
			DocumentBrowserFragment fDetail = new DocumentBrowserFragment();
			fDetail.setInfo(list,true);
			//tx.setCustomAnimations(android.R.animator.fade_in,android.R.animator.fade_out);
			fDetail.setTitle(item.getTitle());
			tx.add(R.id.frame_content, fDetail, "fDetail");
			tx.addToBackStack(null);
			tx.commit();
			return;
		}
		if(item.getBillType() == 999){
			List<Bills> list = DBManager.getInstance().getBillItemsMain(item.getBillNo());
			FragmentManager fm = getFragmentManager();
			FragmentTransaction tx = fm.beginTransaction();
			SubDocumentBrowserFragment fDetail = new SubDocumentBrowserFragment();
			fDetail.setInfo(list,true);
			fDetail.title = item.getTitle();
			tx.add(R.id.frame_content, fDetail, "fSubDetail");
			tx.addToBackStack(null);
			tx.commit();
			return;
		}

		if(item.getBillFile() == null || item.getBillFile().length()==0){
			return;
		}

		FragmentManager fm = getFragmentManager();
		FragmentTransaction tx = fm.beginTransaction();
		MultiContentDetailFragment fDetail = new MultiContentDetailFragment();
		fDetail.setInfo(item,true);
		tx.add(R.id.frame_content, fDetail, "fDetail");
		tx.addToBackStack(null);
		tx.commit();
	}
}