有没有办法将 ListView 项目编号存储在 Android 中的 int 中?

Is there a way to store the ListView item number in an int in Android?

我将文本文件导入到 android 中的 ListView

如果我单击 listView 中的某个项目,它的 line number 应该存储在 int 中。

例如(这是一个ListView(文本文件)):

Corn (1)
Apple (2)
Melon (3)

如果单击一行 Melon,它的行号 (3) 应存储在 int.

The code:

// returns 索引为 -1

  list.setOnItemClickListener(new AdapterView.OnItemClickListener() {


                    public void onItemClick(AdapterView<?> parent, View view,
                                            int position, long id) {



                        boolean co = true;

                        int lineNumber = list.getSelectedItemPosition();

                        Toast.makeText(MainActivity.this, String.valueOf(lineNumber), Toast.LENGTH_SHORT).show();

                    }
                });

这可能吗?

            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
                Toast.makeText(MainActivity.this,"Item No:"+position,Toast.LENGTH_SHORT).show();
            }
        });

注意项目索引从 0 开始。

这样的方法或许也能帮到你

listView.getSelectedItemPosition()
listView.getCheckedItemPosition()

注意:以上两行不是用于项目点击。

我刚刚使用了方法中包含的int position

 public void onItemClick(AdapterView<?> parent, View view,
                                             int position, long id)

Toast.makeText(MainActivity.this, String.valueOf(position), Toast.LENGTH_SHORT).show();

首先,ListView的索引是从零开始的,所以索引应该是这样的

Corn (0)
Apple (1)
Melon (2)

您可以轻松获取所选项目的位置,因为它在

中声明为参数
public void onItemClick(AdapterView<?> parent, View view, int position, long id)

而且你还可以通过 onItemClick() 中的这一行获取所选项目的名称

                @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id)
            {
                // TODO: Implement this method
                String title = parent.getItemAtPosition(position);
            }