2017-07-26 1 views
0

私は2つのアクティビティをアプリに持っています。 1つに3つのボタンがあり、その他にはgithubの「com.github.barteksc:android-pdf-viewer:2.6.1」のPDFViewがあります。このコードからURLからpdfをロードしようとしています。それは私の作品URLをパースして、他のアクティビティに移動し、そのURLからPDFを読み込みます。

public class PDFActivity extends AppCompatActivity { 

    PDFView pdfView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_pdf); 

     pdfView = (PDFView) findViewById(R.id.pdfview); 

     new RetrievePDFStream().execute("my url to load pdf example http://sample.com/xyz.pdf"); 

    } 


    class RetrievePDFStream extends AsyncTask<String, Void, InputStream> 
    { 

     @Override 
     protected InputStream doInBackground(String... strings) { 
      InputStream inputStream = null; 
      try 
      { 
       URL url = new URL(strings[0]); 
       HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection(); 
       if(urlConnection.getResponseCode() == 200) 
       { 
        inputStream = new BufferedInputStream(urlConnection.getInputStream()); 
       } 
      } 
      catch (IOException e) 
      { 
       return null; 
      } 
      return inputStream; 
     } 

     @Override 
     protected void onPostExecute(InputStream inputStream) { 
      pdfView.fromStream(inputStream); 
     } 
    } 
} 

これは正常に動作しますが、私は、私はこの活動では、別のPDFファイルをロードするために、ボタン1をクリックすると、そのURL「新しいRetrievePDFStream」を変更するには、他のURLから活動1から別のPDFファイルをロードする必要がありますし、このアクティビティから別のpdfをロードするには、ボタン2を押します。

ありがとうございます。

答えて

1

私が正しく理解している場合は、3つのボタンと2つのアクビビティがあります。
ack1には3つのボタンがあり、ack2にはpdfビューアがあります。だから私がack1 button1をクリックすると、ack2からurl1をロードしたいのですが、ack1 button2をクリックすると、url2フォームack2などをロードしたいのです。 それが必要ならば、あなたはintent extrasを使うことができます。 Button2のため

button1.onclick(new onclicklistener{ 
    publi void onClick(){ 
     Intent intent=new Intent(this,ack2.class); 
     intent.putExtras("url","pdf url1"); 
    }} 

はJST "のpdf URL1" を "PDFのURL2" ボタン3用
はJSTに、 "PDFファイルURL3" を "PDFのURL1" に変更ACK2で

が何を変更します。 フォームACK1は、これを行いますこの:のonCreate()メソッドで :

Intent i=this.getIntent(); 
    String url=i.getExtras("url"); 

ここからは、あなたがクリックしたボタンに基づいて、最初のアクティビティに渡されたURLを取得します。ユーザーがボタン1をクリックすると、 "pdf url1"が表示されます。もし彼がbutton2をclcikしたら、 "pdf url2"を得るでしょう...

編集:コードは参照用ではありませんコピー&貼り付ける

+0

ありがとうAjay_Reddy、それは魅力のように動作します –

+0

ようこそ。それがうまくいくなら答えを投票してください。質問を投稿する前に完全に検索してください。私はこれが既に尋ねられたと思う。 –

関連する問題