Android - 从 ListView 获取所选项目的文本

Android - Getting text for the selected item from ListView

我花了几个小时研究它,尝试了不同的方法,但我得到的最接近的是获取列表中第一项的文本——而不是所选项目的文本。

这是我的 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();

                }
            }
    );