5

Trong ứng dụng của tôi hiện android, Im sử dụng MuPDF, mà tôi chuyển với sự giúp đỡ của this doc. Bây giờ khi tôi muốn mở file pdf bên trong hoạt động tôi sử dụng: Uri uri = Uri.parse (con đường);MuPDF dành cho Android: Lựa chọn cho đoạn thay Hoạt động

  Intent intent = new Intent(this, MuPDFActivity.class); 
      intent.setAction(Intent.ACTION_VIEW); 
      intent.setData(uri); 
      startActivity(intent); 

kích hoạt một hoạt động mới, Vấn đề của tôi là: (1) làm cách nào để bắt đầu Phân đoạn xem pdf? (2) MuPDF có hỗ trợ Fragment mà tôi có thể gọi dưới chế độ xem Android-Tab-currant của tôi không? (3) Có cách nào Chuyển đổi hoạt động này thành phân đoạn không?

Hiện nay tôi đang làm:

public class DummySectionFragment extends Fragment { 

     public DummySectionFragment() { 
     } 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
      View rootView = null; 

      rootView = inflater.inflate(R.layout.activity_dummy_section_fragment, container, false); 

      Intent myIntent = new Intent(getActivity(), MuPDFActivity.class); 
      myIntent.setAction(Intent.ACTION_VIEW); 
      myIntent.setData(uri); 
      getActivity().startActivity(myIntent); 

      return rootView; 
     } 
} 

nào: mở ra một hoạt động mới trên dòng Tab Xem bố trí của tôi, mà không nhìn tuyệt vời vì nó bao gồm toàn bộ bố trí tab và người sử dụng phải bấm BACK nút để xem chế độ xem tab.

Trả lời

4

Có thể bạn không nên sử dụng MuPDFActivity trong dự án của mình - đó chỉ là ví dụ cách Mupdf hoạt động. Tất cả những gì bạn cần là MuPDFReaderView/MuPDFCore/MuPDFPageAdapter. MuPDFReaderView mở rộng từ View/ViewGroup, vì vậy bạn có thể thêm nó vào layout của bạn. Hãy thử nó như thế này (hoàn toàn chưa được kiểm tra !!):

1.) XML -> Cách bố trí cơ sở cho phần phân đoạn (mupdf_wrapper.xml):

<RelativeLayout 
    android:id="@+id/mupdf_wrapper" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
</RelativeLayout> 

2.) JAVA:

public class DummySectionFragment extends Fragment { 

    public DummySectionFragment() { 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     View rootView = null; 

     rootView = inflater.inflate(R.layout.mupdf_wrapper, container, false); 
     RelativeLayout mupdfWrapper (RelativeLayout)rootView.findViewById(R.id.mupdf_wrapper); 
     String path = "path/To/Your/PDF/File.pdf"; 
     MuPDFCore core = new MuPDFCore(getActivity(), path); 
     MuPDFReaderView mDocView = new MuPDFReaderView(getActivity()); 
     mDocView.setAdapter(new MuPDFPageAdapter(getActivity(), getActivity(), core)); 
     mupdfWrapper .addView(mDocView, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); 
     return rootView; 
    } 

}

1

Chuyển đổi hoạt động để đoạn:

public class a extend activity{ 

    public void oncreate(Bundle Saveinstance) 
    { 
    super.oncreate(saveinstance); 
    setcontentview(r.layout.xyz); 
    }  
    } 

Chuyển đổi ...:

public class a extend fragment{ 


public void onstart() 
{ 
super.onstart(); 

} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 


    return inflater.inflate(com.example.login.R.layout.fragment, container, false); 

} 
} 

Nếu bạn có một chức năng hoặc bạn muốn làm cho một bánh mì nướng và bạn đã xyz.this thay thế ông với getActivity()

Toast.makeText(xyz.this, e.getMessage(),Toast.LENGTH_LONG).show(); 
Toast.makeText(getActivity(), e.getMessage(),Toast.LENGTH_LONG).show();