Преобразование активности во фрагмент

#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. Где изменить, пожалуйста, помогите мне, вы можете описать