如果ListView获得了item和subitem,如何在ListView中的选定行中获取文本

Mat*_*tia 1 android

我有一个listview

ListView poiList = (ListView) findViewById(R.id.poiList);
Run Code Online (Sandbox Code Playgroud)

并填充它

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);
Run Code Online (Sandbox Code Playgroud)

使用这个SimpleAdapter,ListView中的每一行都有一个项目和一个子项目.一切都很完美.

现在我为我的ListView实现onItemClick:

poiList.setOnItemClickListener(new OnItemClickListener() {

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

            String poiName = ((TextView)view).getText().toString();
}
 }
Run Code Online (Sandbox Code Playgroud)

但我不能在我选择的行中得到文本.我认为该行中有多个TextView(Item和subitem).我怎么能参考他们?

Kgr*_*ver 5

正如我在发布问题时评论的那样,你应该使用:

((TextView)(view.findViewById(android.R.id.text1))).getText().toString()
Run Code Online (Sandbox Code Playgroud)

既然View不是它TextView本身,而是List Item的View.

很高兴它顺便解决了你的问题.干杯.