Как настроить ListView

#java #android

#java #Android

Вопрос:

У меня есть игра, которую я создаю, и я хочу добавить к ней табло или таблицу лидеров, чтобы игрок мог сравнивать свои результаты с результатами своих друзей. Я думаю, что хочу настроить его как представление списка с 2 столбцами и несколькими строками. Первый столбец будет номером строки, а второй столбец будет именем игрока. Я никогда раньше не использовал ListView, и я хотел бы хорошо начать в правильном направлении. Может кто-нибудь показать мне, как бы вы это настроили, используя xml для размещения ListView, а затем используя Android для заполнения его информацией? Все соответствующие ответы оценены!

Ответ №1:

Это различные приложения для подсчета очков, созданные разными людьми. Там исходный код поможет вам

  1. RoundTracker
  2. KeepScore
  3. ScoreKeeper-Android

Но я бы рекомендовал изучить основы listview и адаптеров. Это простое руководство. Их много, просто найдите в Google «Android listview с пользовательским адаптером»

Комментарии:

1. можно ли установить набор данных в виде списка? например, ListView.setData (данные) или что-то в этом роде?

2. Данные для listview предоставляются адаптером. Когда вы обновляете данные, вы обновляете данные, переданные адаптеру, и вызываете notifyDataSetChanged(), что заставляет listview перезагружаться. Трудно ответить на этот вопрос, поскольку область слишком велика. Вам нужно будет немного поработать с listviews и адаптерами, чтобы по-настоящему понять основы.

Ответ №2:

Это звучит как нечто, что больше подходит для табличного представления, а не для представления списка, поскольку вы ищете столбцы.

Это очень похоже на таблицу HTML, если вы когда-либо использовали это.

 <?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1">
    <TableRow>
        <TextView android:layout_weight="0.1" android:layout_height="wrap_content" android:id="@ id/usernumber1" android:text="1." />
        <TextView android:layou_width="fill_parent" android:layout_height="wrap_content" android:id="@ id/username1" android:text="user1" />
    </TableRow>
</TableLayout>
  

Вероятно, вы бы указали количество строк, равное количеству пользователей, которых вы хотели бы отобразить в XML, хотя, вероятно, вы можете добавлять их динамически в Java-код. Как упоминал @blessenm, я предполагаю, что есть способы использовать представление списка, для которого вы бы использовали ListAdapter . Для меня это может быть проще в некотором смысле, если вы просто собираетесь отображать статическое количество пользователей, но если вы собираетесь использовать что-то более динамичное, вам следует попробовать подход ListAdapter.

Комментарии:

1. Я отредактировал свой ответ, чтобы в нем был некоторый код в качестве простого примера

2. спасибо, это было трудное решение, кому дать ответ, потому что вы оба мне очень помогли. Как только я получу достаточно информации, я обещаю