我有一个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).我怎么能参考他们?
正如我在发布问题时评论的那样,你应该使用:
((TextView)(view.findViewById(android.R.id.text1))).getText().toString()
Run Code Online (Sandbox Code Playgroud)
既然View不是它TextView本身,而是List Item的View.
很高兴它顺便解决了你的问题.干杯.
| 归档时间: |
|
| 查看次数: |
6613 次 |
| 最近记录: |