как я могу щелкнуть изображение в списке? [Дубликат]

Этот код заполнит вашу потребность:

  FileWriter fw = new FileWriter («C: \\ file.json», true);  fw.write ( "SSSSSS");  fw.close ();   
5
задан Ryan R 20 December 2011 в 07:25
поделиться

4 ответа

Для клика ImageView вам нужно создать пользовательский адаптер для вашего списка.

И в методе adfater getView() просто напишите imageView's onClick(), и начните свою новую деятельность с onClick () этого изображения.

Для пользовательского списка просто посмотрите на этот учебник Серия Android: пользовательские элементы и адаптеры ListView ..

11
ответ дан user370305 15 August 2018 в 21:47
поделиться
  • 1
    Еще раз спасибо. Для интересующихся см. Основные вопросы для получения дополнительной информации. Кроме того, ответ Арслана показывает реализацию кода, очень похожую на то, что я использовал. – Ryan R 20 December 2011 в 08:21
  • 2
    Как передать результат из новой активности? Как использовать onActivityResult () здесь? – Jas 9 December 2015 в 10:38
  • 3
    @Jas - использовать setResult() метод set Intent в нем. и получить это намерение в onActivityResult(). Посмотрите stackoverflow.com/questions/920306/… – user370305 9 December 2015 в 15:19
  • 4
    Я могу написать onActivityResult() в действии только правильно? Если я увольняю намерение из класса адаптера, где я должен писать onActivityResult()? – Jas 10 December 2015 в 04:24
  • 5
    В Activity, который вызывает ваш Adapter, и вы используете контекст для startActivityForResult() .. – user370305 10 December 2015 в 14:57

В вашем пользовательском адаптере getView() метод, когда вы инициализируете ImageView. Добавить позицию в качестве метки для просмотра изображения. Поэтому каждый раз, когда появляется новый ImageView, он будет удерживать свое положение в своем теге. Затем просто добавьте OnClickListener() в getView().

OnClickListener(View view) содержит вид, который был нажат пользователем. Поэтому, когда пользователь щелкнет любое изображение в списке. Затем он будет передан OnClickListener(View view) в виде щелчка. И мы знаем, что наш ImageView содержит позицию как тег. Итак, тег может сказать нам, что для этого ImageView? должность. :)

@Override
    public View getView(int position, View convertView, ViewGroup parent) {

        if(convertView == null){
            convertView = inflater.inflate(R.layout.list_row, parent, false);
        }

        ImageView imageView = (ImageView) convertView.findViewById(R.id.videoListImage);
        imageView.setTag(new Integer(position));
        imageView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View view) {
                Toast.makeText(mContext, "ImageView clicked for the row = "+view.getTag().toString(), Toast.LENGTH_SHORT).show();
            }
        });

        return convertView;
    }

Вы получите нажатую ImageView позицию.

24
ответ дан Jasper de Vries 15 August 2018 в 21:47
поделиться
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            System.out.println("getView " + position + " " + convertView);
            ViewHolder holder = null;

            if (convertView == null) {

                convertView = LayoutInflater.from(conText).inflate(
                        R.layout.gridgoggle, parent, false);
                holder = new ViewHolder();

                convertView.setTag(holder);

            } else {
                holder = (ViewHolder) convertView.getTag();
            }


            holder.imageView1.setImageResource(Integer.parseInt((mData
                    .get(position).get("image"))));

            holder.imageView1.setId(position);

            holder.imageView1.setOnClickListener(new OnClickListener() {
                public void onClick(View v)
 {

                                   int id = v.getId();
//here id is position.

  Intent myIntent = new Intent(this, StopsScheduleActivity.class);
  myIntent.putExtra("stop", id);

 startActivity(myIntent);


                }
            });
            return convertView;
        }
4
ответ дан sai 15 August 2018 в 21:47
поделиться

В трех простых шагах:

1 В вашем адапторном методе getView (int position, View convertView, родитель ViewGroup):

ImageView imageview =(ImageView) convertView.findViewById(R.id.imageView);
imageview.setTag(new Integer(position));

2 В layout.xml добавьте метод onClick() в методе ImageView

3 implements onClick() и извлекает индекс с помощью view.getTag()

0
ответ дан Vincenzo Alessandro Cavaso 15 August 2018 в 21:47
поделиться
  • 1
    Обратите внимание на использование встроенного форматирования `like this`. Я отредактирую ваш вопрос – Ab_ 22 September 2016 в 15:53
Другие вопросы по тегам:

Похожие вопросы: