6

私の既存のAndroidアプリでは、このドキュメントの助けを借りて移植したMuPDFを使用しています。 アクティビティ内でPDFファイルを開きたいときは、次を使用します:Uri uri = Uri.parse(path);

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

新しいアクティビティを起動します。私の問題は次のとおりです。(1) Fragment を起動して PDF を表示するにはどうすればよいですか? (2) MuPDF は、現行の Android-Tab-View で呼び出すことができる Fragment をサポートしていますか? (3) このアクティビティをフラグメントに変換する方法はありますか?

現在、私はやっています:

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;
        }
}

BACKこれは、現在のタブ ビュー レイアウトで新しいアクティビティを開きます。これは、タブ レイアウト全体をカバーし、ユーザーがボタンをクリックしてタブ ビューを表示する必要があるため、見栄えがよくありません。

4

2 に答える 2

1

アクティビティをフラグメントに変換する:

public class a extend activity{

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

変換中 ... :

  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);

} 
}

関数がある場合、または Toast を作成したい場合で、 xyz.this がある場合は、彼を次のように置き換えます。getActivity()

Toast.makeText(xyz.this, e.getMessage(),Toast.LENGTH_LONG).show(); 
Toast.makeText(getActivity(), e.getMessage(),Toast.LENGTH_LONG).show();
于 2014-05-03T14:38:54.860 に答える