我花了几个小时研究它,尝试了不同的方法,但我得到的最接近的是获取列表中第一项的文本 - 而不是所选项目的文本。
这是我的 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;
}
这是我的 Activity 中的 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();
}
}
);
请问有什么想法吗?
最佳答案
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) view.findViewById(R.id.sweetName);
String text = textView.getText().toString();
Toast.makeText(getApplicationContext(), "Selected item: " + text + " - " + position, Toast.LENGTH_SHORT).show();
}
}
);
关于java - Android - 从 ListView 中获取所选项目的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28409229/