cómo hacer clic en el oyente de las imágenes en horizontal ScrollView

Estoy haciendo una vista de desplazamiento horizontal para mostrar imágenes en la aplicación de Android. Pero no sé cómo hacer clic en el oyente de cada imágenes individuales.Mi código es

private Integer images[] = {R.drawable.mba, R.drawable.lifestylemin, R.drawable.jee,R.drawable.comic,R.drawable.defence}; // private ReaderView mReader; // ImageView imageGallery; LinearLayout im1; LinearLayout imageGallery; LinearLayout imageGallery2; ImageView imageView; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.tab2, container, false); // init PlugPDF LinearLayout adcat=(LinearLayout)view.findViewById(R.id.adcat); adcat.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(getActivity(),ebookSelection.class)); } }); imageGallery = (LinearLayout) view.findViewById(R.id.imageGallery); imageGallery2 = (LinearLayout) view.findViewById(R.id.imageGallery2); addImagesToThegallery(); //edit code for(int i=0;i<images.length;i++){ final ImageView imageView = (ImageView) getImageView(images[i]); imageView.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent i=new Intent(getActivity(),book.class); int id=imageView.getId(); i.putExtra("id",id); startActivity(i); } }); } //// return view; } private void addImagesToThegallery() { for (Integer image : images) { imageGallery.addView(getImageView(image)); imageGallery2.addView(getImageView(image)); } } private View getImageView(Integer image) { ImageView imageView = new ImageView(getActivity().getApplicationContext()); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(260, 400); lp.setMargins(0, 0, 10, 0); imageView.setLayoutParams(lp); imageView.setImageResource(image); imageView.setScaleType(ImageView.ScaleType.FIT_XY); return imageView; } 

Quiero hacer individuo click escuchar para cada imagen para que pueda realizar diferentes tast de diferentes imágenes. Thanxx por adelantado.

También puede configurar OnClickListener en su método getImageView

EDIT: agrega un TAG en tu imageView con ImageResource, luego recupera el TAG en la imagen OnClick Method, Like This:

 private View getImageView(Integer image, Integer index) { ImageView imageView = new ImageView(this.getApplicationContext()); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(260, 400); lp.setMargins(0, 0, 10, 0); imageView.setLayoutParams(lp); imageView.setImageResource(image); //Create a TAG on your Strings Resources //"IMAGE_TAG" with any value imageView.setTag(R.string.IMAGE_TAG, image); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int image = (int)v.getTag(R.string.IMAGE_TAG); switch (image) { case R.drawable.mba: { //action for your image } break; //and so on.. } } }); return imageView; } 

Deberá llamar a setOnClickListener en ImageView para cada imagen.

Podrías hacerlo en tu método getImageView y tener un comportamiento diferente dependiendo del índice de imagen que hayas pasado al método, o podrías llamar al siguiente desde tu bucle for.

 ImageView imageView = (ImageView) getImageView(i); imageView.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Perform action on click } }); 

Puede establecer el listener onClick para cada vista dentro del bucle for o simplemente usar el método view.getId dentro del oyente que ya ha creado y actuar en consecuencia.

Trate de añadir esta clase interna dentro de su Actividad / Fragmento

 class ImageClickListener implements View.OnClickListener { public void onClick(View v) { switch(v.getId()) { case images[0]: // handle click for first image break; //And so on and so forth } } 

A continuación, simplemente establezca el oyente de clics dentro del bucle para cada ImageView

 for (Integer image : images) { ImageView image1 = getImageView(image); ImageView image2 = getImageView(image); image1.setOnClickListener(new ImageClickListener()); image2.setOnClickListener(new ImageClickListener()); imageGallery.addView(image1); imageGallery2.addView(image2); } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.