2017-04-06 15 views
1

私は、複数の「てPhotoView」と、私は次のコードで使用したい変数を作成:Android - 複数の「PhotoView」で写真を選択していますか?

public void SayfaEkle(int id) throws JSONException { 
    LayoutInflater inflater = this.getLayoutInflater(); 
    FrameLayout f; 
    int photos = 0; 


    switch (id){ 
     case 1: 
      photos = 5; 

      final Drawable bitmap = ContextCompat.getDrawable(this,R.drawable.complex); 
      f = (FrameLayout) inflater.inflate (R.layout.foto_layout_1, null); 
      int pageId = addView(f); 
      sayfa_sablon_ids.put("Sayfa_"+pageId, id); 


      Map<String, PhotoView> fotograflar = new HashMap<String, PhotoView>(); 
      for(int z = 1; z<= photos; z++) { 
       int idResource = getResources().getIdentifier("photo_" + z + "_area", "id", getPackageName()); 

       final PhotoView photoview = (PhotoView) f.findViewById(idResource); 

       photoview.setScaleType(ImageView.ScaleType.CENTER_CROP); 

       photoview.setOnClickListener(new View.OnClickListener() { 
        public void onClick(View v) { 
         photoview.setImageDrawable(bitmap); 
         Log.d("OnClick"," yes "); 
        } 
       }); 
       fotograflar.put("pView"+z,photoview); 
      } 
      sayfalar.put("Sayfa_"+pageId,fotograflar); 
     break; 
     case 2: 
      f = (FrameLayout) inflater.inflate (R.layout.foto_layout_2, null); 
      Log.d("id", "IKI --------------------"); 
     break; 
     default: 
      f = (FrameLayout) inflater.inflate (R.layout.foto_layout_1, null); 
    } 
} 

しかし、このコードでは、私は写真を選択します。 「PhotoView」をクリックして、この写真をユーザーが選択するようにします。

どうすればいいですか?

答えて

0

//Make bitmap object final 
final Bitmap bitmap = //replace getBitamp(); 

    int photos = 5; 
    Map<String, PhotoView> ppp = new HashMap<String, PhotoView>(); 
    for(int z = 1; z<= photos; z++) { 
     int idResource = getResources() 
         .getIdentifier("photo_"+z+"_area", "id", getPackageName()); 

     PhotoView photoView = (PhotoView) f.findViewById(idResource); 
     photoView.setImageDrawable(bitmap); 
     photoView.setScaleType(ImageView.ScaleType.CENTER_CROP); 


     photoView.setOnClickListener(new OnClickListener() { 

      public void onClick(View v) { 
      photoView.setImageBitmap(bitmap); 
      //select.... 
      } 
    }); 

    ppp.put("pView"+z,photoView); 
+0

を試してみてください "photoView.setImageDrawable(ビットマップ);"どのように "onclick"を使うのですか? –

+0

ビットマップを取得している場所から回答が更新されましたか? – Pehlaj

+0

"PhotoView-bitmap"をfinalとして定義する必要があります。どうすればこの問題を解決できますか? –

関連する問題