0
我花了几个小时研究它,尝试了不同的方法,但最接近的是获取列表中第一项的文本 - 而不是选定的项目。Android - 从列表视图中获取所选项目的文本
这是我的getView方法:
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.row, null);
holder = new ViewHolder();
holder.sweetName = (TextView) convertView
.findViewById(R.id.sweetName);
holder.sweetPic = (ImageView) convertView
.findViewById(R.id.sweetPic);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.sweetPic.setImageResource(sweetPicResource[position]);
holder.sweetName.setText(sweetsNames[position]);
return convertView;
}
这里是我的onClickListener从活动:
listView.setOnItemClickListener(
new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View view,int position, long arg3) {
String selectedSweet = listView.getItemAtPosition(position).toString();
TextView textView = (TextView) listView.findViewById(R.id.sweetName);
String text = textView.getText().toString();
Toast.makeText(getApplicationContext(), "Selected item: " + text + " - " + position, Toast.LENGTH_SHORT).show();
}
}
);
任何想法,请?
在发表问题之前,有成千上万的问题像这样。 – 2015-02-09 11:59:31
是的,正如我上面提到的,我一直在研究它,看了很多类似的问题和答案,但没有一个适合我。 – Alex 2015-02-09 12:01:24
TextView textView =(TextView)listView.findViewById(R.id.sweetName); - > TextView textView =(TextView)view.findViewById(R.id.sweetName); – nbaroz 2015-02-09 12:01:34