[英]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.