DocumentBrowserFragment.java 4.48 KB
package com.sunvote.xpadapp.fragment;

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.ListView;
import android.widget.TextView;

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

import java.util.List;

/**
 * Created by Elvis on 2017/11/30 15:07
 * Email:Eluis@psunsky.com
 * 版权所有:长沙中天电子设计开发有限公司
 * Description: 人大通用版XPadAppRD重构
 *  议案自由浏览界面
 */
public class DocumentBrowserFragment extends BaseFragment {

	private String TAG = "DocumentBrowserFragment";
	private View rootView ;
	private Button btnPageUp;
	private Button btnPageDown;
	private View btnBack;
	private TextView tvTitle;
	private ListView listview;
	private DocumentAdapter mAdapter;
	private boolean isShowBack;
	private List<Bills> aryContent = null;
	private String title;

	public void setTitle(String title) {
		this.title = title;
	}

	public void setInfo(List<Bills> docList, boolean showBack) {
		isShowBack = showBack;
		aryContent = docList;
	}

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
		LogUtil.d(TAG, "onCreateView");
		rootView = inflater.inflate(R.layout.fragment_document_browser, container, false);
		btnBack = rootView.findViewById(R.id.document_browser_btnback);
		listview =  rootView.findViewById(R.id.document_browser_listview);
		tvTitle = rootView.findViewById(R.id.document_browser_title);
		btnPageUp =  rootView.findViewById(R.id.document_browser_pageup);
		btnPageDown =  rootView.findViewById(R.id.document_browser_pagedown);
		initListener();
		return rootView;
	}

	public void initListener(){
		if(isShowBack){
			btnBack.setVisibility(View.VISIBLE);
		}
		btnBack.setOnClickListener(new OnClickListener() {

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

		mAdapter = new DocumentAdapter(getActivity(),aryContent);
		listview.setAdapter(mAdapter);
		listview.setFastScrollAlwaysVisible(false);
		if(title!=null){
			tvTitle.setText(title);
		}else{
			tvTitle.setText(getString(R.string.doc_title));
		}
		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);
			}

		});
		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);
			}
		});
	}

	private void goBack() {
		PageManager.getInstance().pop1();
	}
 
	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);
			fDetail.title = 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();
			DocumentBrowserFragment fDetail = new DocumentBrowserFragment();
			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();
	}
}