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 aryContent = null; private String title; public void setTitle(String title) { this.title = title; } public void setInfo(List 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 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 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(); } }