본문 바로가기

PROGRAM/Android

ListView 추가하기 - 01

ListView를 다음과 같이 만들어 보자

 

우선 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"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

 

 

다음으로 MainActivity를 작성한다.

 

- 방법 1

public class MainActivity extends AppCompatActivity {
    ListView listView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = findViewById(R.id.listView);

        ArrayList<String> data = new ArrayList<>();
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);
        listView.setAdapter(adapter);

        data.add("사과");
        data.add("딸기");
        data.add("바나나");
        data.add("포도");
        data.add("멜론");
        data.add("키위");
        data.add("오렌지");
        adapter.notifyDataSetChanged();
    }
}

- 방법 2

public class MainActivity extends AppCompatActivity {
    ListView listView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = findViewById(R.id.listView);

        String[] fruits = {"사과","딸기","바나나","포도","멜론","키위","오렌지"};
        ArrayList<String> data = new ArrayList<>();
        for (int i=0; i< fruits.length; i++){
            data.add(fruits[i]);
        }

        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);
        listView.setAdapter(adapter);
        adapter.notifyDataSetChanged();
    }
}

-방법3

public class MainActivity extends AppCompatActivity {

    ListView listView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = findViewById(R.id.listView);
        String[] fruits = {"사과","딸기","바나나","포도","멜론","키위","오렌지"};
        
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, fruits);
        listView.setAdapter(adapter);
    }
}

- ListView 객체를 생성한다.

- findViewById( )로 레이아웃과(xml)과 java를 연결한다.

 

ArrayList<E>

  • 가변 크기 배열을 구현한 클래스 : 배열의 길이 가변화로 길이제한 극복
ArrayList<String> = new ArrayList<String>();

 

ArrayList<E> 클래스의 주요 메서드

 

 

 

                           simple_list_item_checked                    simple_list_item_multiple_choice

 

'PROGRAM > Android' 카테고리의 다른 글

Fragment 예제  (0) 2020.05.08
ListView 아이템 추가,수정,삭제  (0) 2020.05.01
ListView -02 (extends ListActivity)  (0) 2020.04.30
Android - listview  (0) 2020.04.28
OptionMenu  (0) 2020.04.25