본문 바로가기
프로젝트 기록/android

[android/안드로이드] Fragment - list fragment 리스트 프래그먼트 예제

by 새아SaeA 2020. 1. 10.

List Fragment 만들기 간단 예제

  • main activity에 바로 화면을 띄울 것임
  • 따로 fragment xml을 작성하지 않아도 됨
  • 기본으로 만들 때에는 따로 MainActivity.java파일을 작성하지 않아도 됨.

1. 결과물

 

2. 예제 코드

/res/layout/activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <fragment
        android:id="@+id/container"
        android:name="com.example.fragmentdemo.ArrayList"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </fragment>
    
</LinearLayout>

/java/com.example.fragmentdemo/ArrayList.java

package com.example.fragmentdemo;

import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import androidx.fragment.app.ListFragment;


public class ArrayList extends ListFragment {

    private static String[] NUMBERS = new String[]{"1", "2", "3", "4", "5", "6","7","8","9"};

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_activated_1, NUMBERS));
        getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
    }

    @Override
    public void
    onListItemClick(ListView I, View v, int position, long id) {
        getListView().setItemChecked(position, true);
    }
}

3. 코드 설멍

*onActivityCreated : 액티비티를 실행하면서 프래그먼트가 생성되도록 함.

*android.R.layout.simple_list_item_activated_1 :  아이템을 클릭했을 때 무언가 변화를 주는 경우

*android.R.layout.simple_list_item_1 : 아이템을 클릭했다 뿐 시각적으로 아무런 변화 없음.

*onListItemClick : 앞에서 "activated"했던 것을 더 디테일하게 설정할 수 있음.