Android 개발은 시작부터 포기까지 (8) ListView를 사용하여 간단한 목록을 표시합니다.

이 블로그는 안드로이드 개발에서ListView의 사용을 간단히 소개하고 간단한 목록을 보여 줍니다. 목록의 어떤 항목을 클릭하면 이 항목의 이름을 보여 줍니다.안드로이드에서 목록을 표시하는 것은 비교적 쉽다. 내가 정리한 바에 의하면 3단계만 있으면 된다.
  • 간단한 형식일 수도 있고 사용자 정의 형식일 수도 있는 데이터 목록
  • 각 데이터 항목을 보여주는 템플릿
  • 앞의 두 항목에 따라 ArrayAdapter,CursorAdapter 또는 사용자 정의 어댑터를 만들고 어댑터 대상을ListView와 연결할 수 있음
  • 다음은 간단한 목록을 보여주는 데 사용할 열을 만들겠습니다.다음은 액티비티main.xml
    
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.zdk.listview.MainActivity">
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="select countries" />
    
        <ListView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@android:id/list">ListView>
    RelativeLayout>

    Activity가ListActivity에서 계승되기를 원한다면 setContentView()를 호출하지 않고 Layout을 지정할 수도 있고 Layout을 지정할 수도 있습니다.Layout을 지정하면 Layout에 id@android:id/list의 ListView 유형 컨트롤이 있어야 합니다.
    다음은 MainActivity입니다.java 코드
    package com.example.zdk.listview;
    
    import android.app.ListActivity;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.ListAdapter;
    import android.widget.ListView;
    import android.widget.Toast;
    
    public class MainActivity extends ListActivity {
    
        String[] countries = new String[]{"China", "France",
                "Germany", "India", "Russia", "United Kingdom",
                "United States"};
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ListAdapter adapter  = new ArrayAdapter(this,
                android.R.layout.simple_expandable_list_item_1,countries);
            setListAdapter(adapter);
    
        }
    
        @Override
        protected void onListItemClick(ListView l, View v, int position, long id) {
            Toast.makeText(this, "    "+countries[position] , Toast.LENGTH_SHORT).show();
        }
    }

    위에서 말한 세 번째 단계에 따르면 첫 번째 단계는 countries의 그룹을 만들었고, 두 번째 단계는 android.R.layout.simple_expandable_list_item_1를 항목별로 표시하는 템플릿으로 선택했으며, 세 번째 단계는 ArrayAdapter 유형의 adapter 대상을 실례화하고setListAdapter(adapter);ListView와 연결을 설정했다.주의해야 할 것은 MainActivity가ListActivity에서 계승되었다는 것이다.ListActivity onListItemClick 방법을 다시 썼습니다. 사용자가 어떤 항목을 눌렀을 때 Toast를 통해 클릭한 항목의 정보를 표시합니다.

    좋은 웹페이지 즐겨찾기