我有一个自定义的ListView适配器,其中包含多个TextView。我想为我的ListView设置onItemClickListener并从TextView中提取文本。我尝试使用以下方法:
String s =(String) ((TextView) mListView.findViewById(R.id.myNr)).getText();
但是默认情况下,它总是返回第一个列表项的值!(我猜测这是因为它没有指定从列表中选择的项目ID)
我也尝试了这个:
String s = (((TextView) mListView.getItemAtPosition(myItemInt)).
findViewById(R.id.myNr)).toString();
不起作用!有什么建议吗?
这是在以下函数中实现的:
mListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> myAdapter, View myView,
int myItemInt, long mylng) {
// String s statements
}
编辑:
以下是完整代码:
mListView_myentries.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> myAdapter, View myView,
int myItemInt, long mylng) {
String workRequestSelected = (String) ((TextView) mListView_myentries.findViewById(R.id.work_request)).getText();
String activitySelected = (String) ((TextView) mListView_myentries.findViewById(R.id.activity)).getText();
String statusSelected = (String) ((TextView) mListView_myentries.findViewById(R.id.status)).getText();
String workRequestDescSelected = (String) ((TextView) mListView_myentries.findViewById(R.id.desc)).getText();
String actualHoursString = (String) ((TextView) mListView_myentries.findViewById(R.id.actual_hours)).getText();
}