2017-02-25 17 views
0

カメラから画像を取得する複数の画像ビューを表示したい。しかし、私は1を表示する方法だけを知っています。誰も複数の画像ビューを表示する方法を知っていますか?手伝ってくれてありがとう!実際アンドロイドスタジオに複数の画像ビューを表示する方法

public class ItemRegisterActivity extends AppCompatActivity { 
private static final int CAMERA_REQUEST = 1888; 
private ImageView imageView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_item_register); 
    this.imageView = (ImageView)this.findViewById(R.id.imageView1); 
    imageView.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, CAMERA_REQUEST); 
     } 
    }); 

} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView.setImageBitmap(photo); 
    } 
} 
} 

私が持っているこの

public class ItemRegisterActivity extends AppCompatActivity { 
private static final int CAMERA_REQUEST = 1888; 
private ImageView imageView1,imageView2,imageView3,imageView4; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_item_register); 
    this.imageView1 = (ImageView)this.findViewById(R.id.imageView1); 
    imageView1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, 1); 
     } 
    }); 
    this.imageView2 = (ImageView)this.findViewById(R.id.imageView2); 
    imageView2.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, 2); 
     } 
    }); 
    this.imageView3 = (ImageView)this.findViewById(R.id.imageView3); 
    imageView3.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, 3); 
     } 
    }); 
    this.imageView4 = (ImageView)this.findViewById(R.id.imageView4); 
    imageView4.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, 4); 
     } 
    }); 
} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == 1 && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView1.setImageBitmap(photo); 
    } 
    if (requestCode == 2 && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView2.setImageBitmap(photo); 
    } 
    if (requestCode == 3 && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView3.setImageBitmap(photo); 
    } 
    if (requestCode == 4 && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView4.setImageBitmap(photo); 
    } 
} 
} 

ようなソリューションは、これを行うための他の方法はありますか?リサイクルビューを使用する必要がありますか?ありがとう!

+0

リサイクルビューを使用 –

+0

私に例を教えていただけますか?ありがとう! –

答えて

0

残念ながら、評判が低いためコメントできません。しかし、Hereでは、複数のイメージビューでRecyclerViewを実装する方法を見ることができます。それがあなたに役立つことを願っています。

+0

質問に私の解決策を追加しました。しかし、その解決策はかなり愚かに見えます。ですから、この問題を解決するにはリサイクルビューをより良い方法ですか? –

+0

大きなデータセットを扱っている場合、Recyclerビューはあなたのソリューションより優れていますが、4つのイメージしか持たない場合、Recycler Viewを実装する必要はありません。 – sodhankit

+0

大変お世話になりましたが、リサイクルビュー以外では、大きなデータセットのための他のソリューションはありますか? –

関連する問題