2011-05-09 148 views
1

enter image description here朋友,如何在Listview的OnClickListener中獲取點擊項目的位置?

我想選擇列表視圖項onclicked列表視圖

的聽者,現在我已經實現onItemClickListener但是當我在項目文本然後升溫 單擊我想提高它的ListView行點擊

任何想法如何實現這個?獲取列表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 

       } 
       }); 
+2

你可以使用'lv1.getSelectedItemPosition()'或'lv1.getSelectedItem()' – 2011-05-09 09:45:30

回答

11

請嘗試使用此代碼。

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 
     } 
}); 
+2

沒有你永遠不知道我是用這個功能我想要實現使用列表視圖 – UMAR 2011-05-09 09:02:42

+0

的聽衆的onClick此功能中獲得價值的問題嘗試設置標籤。 lv1.setTag(位置) 並轉換成onClick view.getTag() – 1020rpz 2015-05-07 13:27:42

4
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    int pos = parent.getPositionForView(view); 
    Toast.makeText(this,pos + "",Toast.LENGTH_SHORT).show(); 
} 
+0

你好,歡迎來到Stack Overflow。只有代碼解答通常不是很有用,除非他們解釋他們的工作。對於很長一段代碼來說這是非常真實的。請考慮添加對您更改或編寫內容的解釋。 – JasonMArcher 2015-09-02 00:40:50

0

如果您的ListView項目從使用ArrayAdapter(這是希望)數組填充實現並採用一類有一種此構造方法:

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(); 
    } 
}); 
相關問題