Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

안드로이드 ListView에서 문자열 배열을 정렬하는 방법 완벽 가이드

이 튜토리얼에서는 안드로이드 ListView에 표시할 문자열 배열을 Arrays.sort() 메서드를 사용해 오름차순으로 정렬하는 방법을 단계별로 살펴봅니다. 자바의 기본 정렬 기능만으로도 간단하게 구현할 수 있으니, 초보자도 쉽게 따라 할 수 있습니다.

1단계: 새 프로젝트 생성

Android Studio를 실행하고 File ⇒ New Project 메뉴로 이동한 뒤, 새 프로젝트 생성에 필요한 모든 세부 정보를 입력하여 프로젝트를 만듭니다.

2단계: 레이아웃 파일 작성

아래 코드를 res/layout/activity_main.xml 파일에 추가합니다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:layout_marginTop="30dp"
    tools:context=".MainActivity">
    <ListView
        android:id="@+id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </ListView>
</LinearLayout>

위 코드에서는 정렬된 배열을 화면에 표시하기 위해 ListView 위젯을 배치했습니다. LinearLayout을 사용해 리스트가 화면 중앙 상단에 나타나도록 설정했습니다.

3단계: MainActivity 코드 작성

다음 코드를 src/MainActivity.java 파일에 추가합니다.

package com.example.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

import java.util.Arrays;

public class MainActivity extends AppCompatActivity {
    ListView list;
    String[] array = {"2", "5", "6", "8", "0", "7", "9", "4"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        list = findViewById(R.id.list);
        Arrays.sort(array);
        ArrayAdapter adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, array);
        list.setAdapter(adapter);
    }
}

코드의 핵심은 다음과 같습니다. 먼저 숫자로 된 문자열 배열을 선언한 후, Arrays.sort(array)를 호출하면 요소들이 사전순(오름차순)으로 정렬됩니다. 그런 다음 ArrayAdapter를 생성해 정렬된 배열 데이터를 ListView에 연결하고, setAdapter()로 화면에 출력합니다.

앱 실행 및 결과 확인

이제 애플리케이션을 실행해 보겠습니다. 실제 안드로이드 스마트폰을 컴퓨터에 연결했다고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 열고 툴바에서 Run 아이콘을 클릭하세요. 옵션 목록에서 본인의 모바일 기기를 선택하면, 모바일 기기에 기본 화면이 표시됩니다.

안드로이드 ListView에서 문자열 배열을 정렬하는 방법 완벽 가이드

위 실행 결과에서 볼 수 있듯이, 원래 무작위였던 배열("2", "5", "6", "8", "0", "7", "9", "4")이 0, 2, 4, 5, 6, 7, 8, 9 순서로 깔끔하게 정렬되어 ListView에 표시된 것을 확인할 수 있습니다.

추가 팁

내림차순으로 정렬하고 싶다면 Arrays.sort(array, Collections.reverseOrder())를 사용하거나, 정렬 후 ArrayUtils.reverse(array)(Apache Commons Lang 라이브러리)를 호출하면 됩니다. 또한 최신 프로젝트라면 androidx.appcompat.app.AppCompatActivity를 임포트하는 것이 좋습니다.