#android #pdf #android-fragments
#Android #PDF #android-фрагменты
Вопрос:
я хочу преобразовать свою активность во фрагмент, может ли кто-нибудь помочь преобразовать активность во фрагмент .. я создал программу чтения Pdf
(Нажмите на кнопку, она откроет PDF-файл в другой активности, используя pdfviwer.jar библиотека .. и я хочу, чтобы при нажатии на кнопку Pdf открывался на том же экране с правой стороны) мне нужна помощь, пожалуйста, решите мою проблему
я публикую свою активность
maiinActivity.java
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn =(Button)findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AssetManager assetManager = getAssets();
InputStream in = null;
OutputStream out = null;
File file = new File(getFilesDir(), "ABC.pdf");
try
{
in = assetManager.open("ABC.pdf");
out = openFileOutput(file.getName(), Context.MODE_WORLD_READABLE);
copyFile(in, out);
in.close();
in = null;
out.flush();
out.close();
out = null;
} catch (Exception e)
{
Log.e("tag", e.getMessage());
}
Intent intent = new Intent(getApplicationContext(), MyPdfViewerActivity.class);
intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, getFilesDir() "/ABC.pdf");
startActivity(intent);
/*
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(
Uri.parse("file://" getFilesDir() "/ABC.pdf"),
"application/pdf");
startActivity(intent);*/
}
});
}
private void copyFile(InputStream in, OutputStream out) throws IOException
{
byte[] buffer = new byte[1024];
int read;
while ((read = in.read(buffer)) != -1)
{
out.write(buffer, 0, read);
}
}
}
PdfviwerActivty.java
public class MyPdfViewerActivity extends PdfViewerActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO Auto-generated method stub
}
public int getPreviousPageImageResource() { return R.drawable.left_arrow; }
public int getNextPageImageResource() { return R.drawable.right_arrow; }
public int getZoomInImageResource() { return R.drawable.zoom_in; }
public int getZoomOutImageResource() { return R.drawable.zoom_out; }
public int getPdfPasswordLayoutResource() { return R.layout.pdf_file_password; }
public int getPdfPageNumberResource() { return R.layout.dialog_pagenumber; }
public int getPdfPasswordEditField() { return R.id.etPassword; }
public int getPdfPasswordOkButton() { return R.id.btOK; }
public int getPdfPasswordExitButton() { return R.id.btExit; }
public int getPdfPageNumberEditField() { return R.id.pagenum_edit; }
}
Комментарии:
1. Этот вопрос, похоже, не по теме, потому что Stack Overflow не является центром набора code monkey. Пожалуйста, опишите проблему, с которой вы столкнулись при попытке реализовать код для решения вашей проблемы.
2. @user3759751 Вы получили требуемый ответ? Если да, пожалуйста, дайте мне знать, как использовать PDFViewer.jar с помощью фрагментов
Ответ №1:
Попробуйте «extends FragmentActivity» вместо «extends Activity»..
Комментарии:
1. Я использую PdfViewer.jar Библиотека, тогда как расширить PdfViewerActivity посмотрите на мою активность PDFViewer, я так запутался
Ответ №2:
Вы должны использовать FragementActivity вместо Activity и вставить свои компоненты пользовательского интерфейса в onCreateView()-метод фрагмента. Для получения дополнительной информации ознакомьтесь с этим руководством: http://www.vogella.com/tutorials/AndroidFragments/article.html
Комментарии:
1.Я использую PdfViewer.jar Библиотека, тогда как расширить PdfViewerActivity посмотрите на мою активность PDFViewer, я так запутался
2. Я думаю, вы можете вставить источник PdfViewActivity в свой класс fragment с небольшими изменениями. Взгляните на это: github.com/jblough/Android-Pdf-Viewer-Library/blob/master/src /…
3. Где изменить, пожалуйста, помогите мне, вы можете описать