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

标签 java android listview textview

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

这是我的 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/

相关文章:

java - Eclipse 插件 - 单独的编辑器和图标分配

java - 如果未执行 JAXB 模型中的 setter,则不显示 XML 元素

android - APK 大小比预期大 - android studio

listview - 使用 API 和 AsyncStorage 数据构建 ListView

java - 如何正确清理 Activity 候选任务?

java - 仅更新更改的实体字段并检查 EJB 中其他用户的更改

java - Android 图形 - 拖动位图时清除 Canvas

java - public static AutocompleteSessionToken newInstance () 是否返回相同的实例?

Android ListView onItemClick

java - Android:下载的图像未显示在 ListView 中