Как работать с ListView в Android? – Devcolibri – Android для начинающих

Как работать с ListView в Android?

В этом небольшом примере хочу вам показать как работать с ListView и вешать на него обработчики.

Шаг 1

Создадим Android проект File->New Project->Android Module:

И в layout добавим новый main.xml, на него добавим ListView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        >
    <ListView
            android:id="@+id/lvMain"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    </ListView>
</LinearLayout>

ListView – это список элементов.

Шаг 2

Заполнять этот список мы будем при помощи адаптера.

Создаем в src/MainActivity.java и в нем создаем наш адаптер:

package com.example.AndroidListViewExample;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {

    // элементы списка которые будут в него внесены
    String[] colors = { "Красны", "Оранжевый", "Желтый", "Зелёный", "Голубой", "Синий", "Фиолетовый"};

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Связываемся с ListView
        ListView list = (ListView) findViewById(R.id.list);

        // создаем адаптер
        ArrayAdapter<String> adapter = new ArrayAdapter<String>
                                           (this, android.R.layout.simple_list_item_1, colors);

        // устанавливаем адаптер списку
        list.setAdapter(adapter);
    }
}

android.R.layout.simple_list_item_1 – это системный layout-файл, который представляет собой TextView.

Шаг 3

Запускаем и смотрим результат:

Как видите все элементы массива вывелись в список.

Шаг 4

Давайте немного кастомизируем элементы списка.

Создадим layout custom_list_item.xml в папке res/layout нашего проекта:

<?xml version="1.0" encoding="utf-8"?>
<TextView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:padding="5dp"
        android:text="TextView"
        android:background="#2ECC71"
        android:textColor="#FFFFFF"
        android:textSize="24sp">
</TextView>

Изменим существующий код, укажем адаптеру наш созданный layout-ресурс custom_list_item:

// создаем адаптер
ArrayAdapter<String> adapter = new ArrayAdapter<String>
                                   (this, R.layout.custom_list_item, colors);

Смотри как это будет выглядеть:

Шаг 5

Теперь давайте добавим обработчик на клик по одному из элементов списка.

Для этого допишем ClickListener для нашего списка:

// Обработка события на клик по элементу списка
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Toast.makeText(getApplicationContext(), "itemClick: position = " +
                position + ", id = " + id + ", " + parent.getAdapter().getItem(position),
                Toast.LENGTH_SHORT).show();
    }
});

И после клика, это выглядит так:

ПОХОЖИЕ ПУБЛИКАЦИИ

    None Found

49423
28/05/2013

17 комментариев к статье "Как работать с ListView в Android?"

Добавить комментарий

Сайт использует cookie-файлы для того, чтобы вам было удобнее им пользоваться. Для продолжения работы с сайтом, вам необходимо принять использование cookie-файлов.

Я ознакомлен(а)