Java 如何从ListView项获取TextView?
我有以下代码来制作ListView:Java 如何从ListView项获取TextView?,java,android,Java,Android,我有以下代码来制作ListView: SimpleAdapter adapter=new SimpleAdapter(this, DictionaryDbWrapper.getInstance().getAllWords(), android.R.layout.simple_list_item_2, new String[]{DictionaryDbHelper.WORD, DictionaryDbHelper.CATEGORY}, ne
SimpleAdapter adapter=new SimpleAdapter(this, DictionaryDbWrapper.getInstance().getAllWords(),
android.R.layout.simple_list_item_2, new String[]{DictionaryDbHelper.WORD, DictionaryDbHelper.CATEGORY},
new int[]{android.R.id.text1, android.R.id.text2});
mList.setAdapter(adapter);
它工作并向我显示元素,都是正确的。此外,我还有一个McClickListener,其中包含以下按项目单击的代码:
View view=mList.getSelectedView();
if (view==null) {
Toast.makeText(UpdatingWordActivity.this, "1", Toast.LENGTH_LONG).show();
}
但是mList.getSelectedView也会返回null。为什么?
更新:为什么此强制转换引发异常:
View v=(View)mList.getItemAtPosition(0);
Listview-McClickListener将视图v作为参数,您需要使用此参数来获取文本
这是Android的教程。调用getSelectedView是为了在listview中使用单选按钮。看见getItemAtPosition只调用底层适配器上的getItemposition;在你的情况下,这是一个简单的套路。该转换引发异常,因为SimpleAdapter.getItem没有返回视图,而是返回适配器中给定位置的数据映射。其他适配器为getItem方法返回其他内容。例如,CursorAdapter返回一个游标
关于第一个问题的答案,请参见上面的答案试试这个,TextView v=TextView mList.getItemAtPosition0;您的意思是要获取文本视图的字符串以便可以使用它吗。或者什么样的功能请详细解释。