我正在构建一个带有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类的官方开发者页面,但它没有提供答案。我如何为自己回答这些(基本)问题?
答案 0 :(得分:1)
我找了一个名为getSelection()的类似名称的方法,但没有。那么,首先,如何确定当前选择ListView中的哪个项目?
超类AdapterView包含getSelectedItem()
以及其他getSelectedItemId()
。 AbsListView也有getSelectedView()
。但是这些只有在您使用setChoiceMode()
OnItemClickListener可让您知道点击后点击的内容。
最后,我如何使用文档来解决这个问题?
你在ListView的文档中开始是正确的,但是转到"Inherited Methods"部分并检查超类。
答案 1 :(得分:1)
试试这个
mylv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> myAdapter, View v, int position, long lng) {
String selectedFromList =(String) (mylv.getItemAtPosition(position));
}
});
答案 2 :(得分:0)
您可以通过使用onitem click listener获得该位置。通过使用项目点击监听器,您可以获得列表中所选项目的位置。您可以将此位置置于Toast