2011-05-09 99 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(); 
    } 
}); 
相关问题