2016-06-29 6 views
0

私はFramelayoutといくつかのTextViewsをサーバーからロードし、ImageからFrameLayoutのバックグラウンドをPicassoを使用してサーバーにロードし、同じ方法でTextViewsを設定しているアプリケーションで使用しています。しかし、私は意図を使ってそれを共有したいと思います。私はそれをどうやって行うのか理解できません。 Image Firstをダウンロードする必要がありますか? AsyncTaskでビットマップイメージとテキストを共有する

マイコード:

Picasso.with(ctx).load(myPlace.getImg()).into(new Target() { 
         @Override 
         public void onPrepareLoad(Drawable arg0) { 
          // TODO Auto-generated method stub 

         } 

         @TargetApi(Build.VERSION_CODES.JELLY_BEAN) 
         @Override 
         public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom arg1) { 
          // TODO Auto-generated method stub 
          pImg.setBackgroundDrawable(new BitmapDrawable(ctx.getResources(), bitmap)); 


         } 

         @Override 
         public void onBitmapFailed(Drawable arg0) { 
          // TODO Auto-generated method stub 
          Toast.makeText(ctx, "Failed Loading", Toast.LENGTH_SHORT).show(); 
         } 
        }); 

        pname.setText(myPlace.getName()); 
        pdes.setText(myPlace.getDescription()); 

共有]ボタン:

Button shareBtn = (Button) findViewById(R.id.sharebtn); 
+0

()あなたのロードマップを与えるの値を取得します。そこからインテントに渡すことができます。 –

答えて

0

ピカソが画像をキャッシュするように、あなたは文句を言わない再限り(別のアクティビティでそれをダウンロードする必要があります同じアプリケーション上にあるので)。あなたのコードにこれらを追加し、それが

は、マイプレイスが

AsyncTaskに地元のステップ1である場合にのみ必要な1と2ステップに役立ちますかどうかを確認: MyPlaceオブジェクト

private class ClassName extends AsyncTask<..., ..., MyPlace> { 
    ... 
} 

ステップ2を返すAsyncTask作ります:myPlaceオブジェクトを返すonPostExecute

ステップ3:値をバンドルして送信する

Intent intent = new Intent(this, NextActivity.class) 
Bundle bundle = new Bundle(); 
bundle.putString(IMG_URL, myPlace.getImg()); // assuming getImg returns string of url 
// put name and desc in the same way 
intent.addExtra(bundle); 
startActivity(intent); 

ステップ4:新しい活動方法はonBitmapLoaded

関連する問題