有没有一种方法可以将ListView项目编号存储在Android中的int中?

时间:2019-06-27 17:42:13

标签: android listview android-listview int listviewitem

我将文本文件导入了Android中的ListView

如果我单击listView中的项目,则应将line number的项目存储在int中。

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

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

例如,如果单击一行Melon,则其行号(3)应存储在int中。

The code:

//将索引返回到-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();

                    }
                });

有可能吗?

3 个答案:

答案 0 :(得分:2)

            @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()

注意:以上两行并不表示单击项目。

答案 1 :(得分:1)

首先,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);
            }

答案 2 :(得分:0)

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

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

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