Есть ли способ сохранить номер элемента ListView в int в Android? - PullRequest
2 голосов
/ 27 июня 2019

Я импортировал текстовый файл в ListView в Android.

Если я щелкну элемент в 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 ]

2 голосов
/ 27 июня 2019
            @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 голос
/ 28 июня 2019

Прежде всего, индекс 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);
            }
0 голосов
/ 27 июня 2019

Я только что использовал int position, включенный в метод:

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

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