DocumentBrowserDetailFragment.java
4.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
package com.sunvote.xpadapp.fragments;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.github.barteksc.pdfviewer.PDFView;
import com.github.barteksc.pdfviewer.listener.OnRenderListener;
import com.sunvote.xpadapp.MainActivity;
import com.sunvote.xpadapp.R;
import com.sunvote.xpadapp.base.BaseFragment;
import com.sunvote.xpadapp.db.modal.BillInfo;
import com.sunvote.xpadapp.db.modal.MultiTitleItem;
import com.sunvote.xpadapp.db.modal.UIType;
import com.sunvote.xpadapp.db.modal.VoteResult;
import com.sunvote.xpadapp.utils.SharedPreferencesUtil;
import com.sunvote.xpadcomm.XPadApi;
import com.sunvote.xpadcomm.XPadApiInterface.VoteInfo;
import com.ycanfunc.util.StringUtils;
import java.io.File;
public class DocumentBrowserDetailFragment extends BaseFragment {
private PDFView pdfView;
private BillInfo bill;
//pdf 页码
public int pdfPageNum = 0;
private String filename;
private TextView tvTitle;
private Button btnLookPdf;
private MainActivity mact;
public ContentVoteOnBack contentBackListener;
private String DATABASE_PATH = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();
public interface ContentVoteOnBack {
void onBack(VoteResult result);
}
public void setInfo(BillInfo billInfo) {
bill = billInfo;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_document_browser_detail, container, false);
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
;//
}
});
mact = (MainActivity) getActivity();
filename = DATABASE_PATH + "/sunvote/" + mact.meetingId + "/" + bill.billFile;
tvTitle = (TextView) view.findViewById(R.id.content_detail_title);
if(bill!=null){
if (bill.title != null) {
tvTitle.setText(bill.title);
}
}
pdfView = view.findViewById(R.id.content_detail_pdfview);
openPdfFile();
btnLookPdf= (Button) view.findViewById(R.id.btn_look_pdf);
btnLookPdf.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
pdfPageNum=pdfView.getCurrentPage()+1;
//pdfPageNum=pdfView.getCurrentItem()+1;
FragmentManager fm = getFragmentManager();
FragmentTransaction tx = fm.beginTransaction();
PDFContextShowFragment pdfShow = new PDFContextShowFragment();
mact.pdfFragment = pdfShow;
pdfShow.setInfo(filename, bill.billFile,pdfPageNum + "","0",false);
tx.add(R.id.frame_content, pdfShow, "pdfShow");
tx.addToBackStack(null);
tx.commitAllowingStateLoss();
}
});
ImageButton btnBack = (ImageButton) view.findViewById(R.id.content_detail_btnback);
btnBack.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
goBack();
}
});
return view;
}
private void goBack() {
/*if (contentBackListener != null) {
VoteResult result=new VoteResult();
contentBackListener.onBack(result);
}*/
FragmentManager fm = getFragmentManager();
FragmentTransaction tx = fm.beginTransaction();
tx.remove(DocumentBrowserDetailFragment.this);
tx.commit();
}
private void openPdfFile(){
File file=new File(filename);
if (file.exists()) {
pdfView.fromFile(file)
.enableSwipe(true) // allows to block changing pages using swipe
.swipeHorizontal(false)
.enableDoubletap(true)
.defaultPage(0)
//.onPageChange(onPageChangeListener)
.onRender(new OnRenderListener() {
@Override
public void onInitiallyRendered(int nbPages, float pageWidth, float pageHeight) {
pdfView.fitToWidth(pdfPageNum-1);
}
})
.enableAnnotationRendering(false)
.password(null)
.scrollHandle(null)
.enableAntialiasing(true)
.spacing(0)
.load();
}else {
Toast.makeText(getActivity(),"议案文件未找到",Toast.LENGTH_LONG).show();
}
}
}