Android 如果ListView获取了项和子项,如何获取ListView中选定行中的文本

Android 如果ListView获取了项和子项,如何获取ListView中选定行中的文本,android,Android,我有一个列表视图 ListView poiList = (ListView) findViewById(R.id.poiList); 我在这里填上了 SimpleAdapter adapter = new SimpleAdapter(this, data, android.R.layout.simple_list_item_2, new String[] {"name", "dist"},

我有一个列表视图

ListView poiList = (ListView) findViewById(R.id.poiList);
我在这里填上了

SimpleAdapter adapter = new SimpleAdapter(this, data,
                        android.R.layout.simple_list_item_2,
                        new String[] {"name", "dist"},
                        new int[] {android.R.id.text1,
                                   android.R.id.text2});
        poiList.setAdapter(adapter);
使用此SimpleAdapter,ListView中的每一行都有一个项和一个子项。一切都很完美

现在,我为我的ListView实现了McClick:

poiList.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {

            String poiName = ((TextView)view).getText().toString();
}
 }
poiList.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、视图、整型位置、,
长id){
字符串poiName=((TextView)视图).getText().toString();
}
}

但我无法获取所选行中的文本。我认为该行中不止一个文本视图(项目和子项目)。我如何引用它们?

正如我在发布问题时所评论的,您应该使用:

((TextView)(view.findViewById(android.R.id.text1))).getText().toString()
因为
视图
不是
文本视图
本身,而是列表项的
视图

顺便说一句,很高兴它解决了您的问题。干杯。

要完成它:

String selectedFromList = ((TextView (view.findViewById(android.R.id.text1))).getText().toString(); 

您是否尝试过view.findViewById(…)?该视图在单击时自动作为参数传递,在代码中称为“视图”。我不知道如何从中提取文本,更具体地说,如何提取我期望的两个字符串(项、子项),如view.getText1()/view.getText2()或view.getItem()/view.getSubitem()视图是listItem本身,而不是TextView。您必须调用findViewById()为了获得实际的文本视图。您在初始化SimpleAdapter时为该文本视图分配了一个id。@Mattia检查我的答案。我解释过。这个答案直接复制了接受的答案,因此不会添加任何有助于进一步阅读此问题的内容。将来如果您注意到您发布的内容与回答一个已经发布的问题,然后删除重复的答案是一种良好的礼仪。