繁体   English   中英

如何在ListView中获取所选项?

[英]How to Get The Selected Item in ListView?

我正在构建一个带有ListView的简单应用程序。 在Java代码中,我试图找出当前选择的项目。 http://developer.android.com/reference/android/widget/ListView.html上的ListView文档中,我看到ListView类中有一个方法被调用

public void setSelection (int position) 

我找了一个名为getSelection()的类似名称的方法,但没有。

那么,首先,如何确定当前选择ListView中的哪个项目? 我已经拥有ListView的对象,所以我只需要该方法来告诉我用户点击了哪个项目。

ListView myLV = (ListView) findViewByID(R.id.myListView);

另外,我可以定义一个“回调”函数,只要选择了一个项目就会调用它吗?

最后,我如何使用文档来解决这个问题? 这是一个非常基本的问题,我应该能够自己解决这个问题。 我做了一件看似正确的事情:我查看了ListView类的官方开发者页面,但它没有提供答案。 我如何为自己回答这些(基本)问题?

我找了一个名为getSelection()的类似名称的方法,但没有。 那么,首先,如何确定当前选择ListView中的哪个项目?

超类AdapterView具有getSelectedItem()以及getSelectedItemId()等。 AbsListView也有getSelectedView() 但是当你使用setChoiceMode()时,这些只会起作用

OnItemClickListener可以让您知道单击它时单击了哪个。

最后,我如何使用文档来解决这个问题?

你在ListView的文档中开始是正确的,但是转到“继承的方法”部分并检查超类。

尝试这个

  mylv.setOnItemClickListener(new OnItemClickListener() {
  public void onItemClick(AdapterView<?> myAdapter, View v, int position, long lng) {
    String selectedFromList =(String) (mylv.getItemAtPosition(position));

  }                 
});

您可以通过使用onitem click listener获得该位置。通过使用项目点击监听器,您可以获得列表中所选项目的位置。您可以将此位置放在Toast中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM