2

enter image description here

I am creating gallery using HorizontalScrollView, and I want to click the image in HorizontalScrollView.

Here is my code:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK){
            if(data.getClipData() != null){
                int totalItemsSelected = data.getClipData().getItemCount();
                linearLayout = (LinearLayout) findViewById(R.id.linear);
                for(int i = 0; i < totalItemsSelected; i++){
                    Uri fileUri = data.getClipData().getItemAt(i).getUri();
                    ImageView image = new ImageView(this);
                    image.setAdjustViewBounds(true);
                    image.setImageURI(fileUri);
                    linearLayout.addView(image);
             }
        }
    }
}
Vidhi Dave
  • 5,614
  • 2
  • 33
  • 55
Annisha
  • 65
  • 9

3 Answers3

4

Hi use the below code to implement click event to ImageView:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK){
        if(data.getClipData() != null){
            int totalItemsSelected = data.getClipData().getItemCount();
            linearLayout = (LinearLayout) findViewById(R.id.linear);
            for(int i = 0; i < totalItemsSelected; i++){
                Uri fileUri = data.getClipData().getItemAt(i).getUri();
                ImageView image = new ImageView(this);
                image.setAdjustViewBounds(true);
                image.setImageURI(fileUri);

                //click event
                image.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Log.e(TAG,"Selected File URI : "+fileUri); 
                    }
                });

                linearLayout.addView(image);
            }
        }
    }
} 
Gowthaman M
  • 8,057
  • 8
  • 35
  • 54
Surender Kumar
  • 1,123
  • 8
  • 15
0

Set onClickListener in loop. So every ImageView will have it's own click listener. Before adding image into layout.

image.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        // do ur work here
    }
})

Thanks

Banana
  • 2,435
  • 7
  • 34
  • 60
Ashu Kumar
  • 832
  • 19
  • 38
0

See below:

for(int i = 0; i < totalItemsSelected; i++){
    Uri fileUri = data.getClipData().getItemAt(i).getUri();
    ImageView image = new ImageView(this);
    image.setAdjustViewBounds(true);
    image.setImageURI(fileUri);

    image.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //what you want to do
        }
    });

    linearLayout.addView(image);
}
Gowthaman M
  • 8,057
  • 8
  • 35
  • 54
SonVi
  • 91
  • 8