Вопрос:

как получить позицию нажатого элемента в OnClickListener Listview?

android listview

40484 просмотра

4 ответа

35108 Репутация автора

введите описание изображения здесьдрузья,

я хочу получить выбранный элемент списка

сейчас я реализовал onItemClickListener, но когда я нажимаю на текст элемента, он поднимается, и я хочу поднять его при щелчке строки списка

есть идеи как этого добиться? получить текстовое значение списка слушателя onClick?

lv1.setOnItemClickListener(new OnItemClickListener() {     ![enter image description here][2]

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                String value = lv1.getAdapter().getItem(position).toString();
                //display value here 

                }
              });
Автор: UMAR Источник Размещён: 09.05.2011 08:45

Ответы (4)


12 плюса

2018 Репутация автора

Попробуйте использовать этот код.

lv1.setOnItemClickListener(new OnItemClickListener() {     ![enter image description here][2]
     @Override
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
          String value = lv1.getItemAtPosition(position).toString();
               //display value here 
         }
});
Автор: Shashank_Itmaster Размещён: 09.05.2011 08:54

4 плюса

316 Репутация автора

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    int pos = parent.getPositionForView(view);
    Toast.makeText(this,pos + "",Toast.LENGTH_SHORT).show();
}
Автор: Saud Khan Размещён: 02.09.2015 12:12

0 плюса

11 Репутация автора

Если ваши элементы ListView были заполнены из массива слов с использованием ArrayAdapter (что, как мы надеемся) и реализованы с использованием класса Word с видом этого конструктора:

public class Word {
    private String mValueA;
    /** Image resource ID for the word */
    private int mAudioResourceId;

    /*
    * Create a new Word object.
    */

    public Word(String valueA, int audioResourceId) {
        mValueA = valueA;
        mAudioResourceId = audioResourceId;
    }

   /*
    * Get the default translation of the word
     */
    public String getValueA() {
        return mValueA;
    }

    /**
     * Return the audio resource ID of the word.
     **/

    public int getAudioResourceId() {
        return mAudioResourceId;
    }    
}

И затем вы можете установить setOnItemClickListener для доступа к выбранному элементу, например, для воспроизведения аудио, определенного в массиве для этого элемента списка.

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
        //like this:
        Word word = words.get(position);
        //and use this position to play the audio from the array
        //corresponding to its item
        mMediaPlayer = MediaPlayer.create(SomeActivity.this, word.getAudioResourceId());
        mMediaPlayer.start();
    }
});
Автор: Denis Pisarev Размещён: 09.08.2016 05:22

0 плюса

1 Репутация автора

public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
    int pos = (int) adapterView.getPositionForView(view);
    Toast.makeText(MainActivity.this, pos, Toast.LENGTH_SHORT).show();
Автор: Rohit Kharb Размещён: 13.06.2019 04:27
Вопросы из категории :
32x32