AdaperView

Haechan Kim·2021년 9월 26일
0

안드로이드

목록 보기
2/6

ScrollView는 처음부터 모든 콘텐츠를 미리 로드해야 하므로 메모리 소비가 크다.
따라서 화면에 보이는 내용만 로드하는 ListViewGridView 같은 AdapterView를 사용하는것이 좋다.
AdaperView는 추상 클래스이고 ListView와 GridView는 이를 상속받는 뷰이다.
AdaperView의 구현 방법은
1. 데이터를 준비한다.
2. 데이터를 뷰에 연결해 줄 어댑터를 준비한다.
3. 뷰에 어댑터를 연결한다.

ListView


<!--activity_main.xml-->
<RelativeLayout 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">

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

</RelativeLayout>

// MainActivity.java
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 자료
        ArrayList<String> data = new ArrayList<>();
        for (int i=0; i<30; i++) {
            data.add("data " + i);
        }

        // 어댑터
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);
        // 파라미터: context, int(레이아웃 리소스 id), List(ArrayList등)
        // simple_list_item_1는 안드로이드가 기본으로 제공하는 TextView하나만 가지는 레이아웃 가리키는 id
        // 이 어댑터는 하나의 텍스트 가진 레이아웃의 data에 담긴 String 데이터를 표시.

        // 뷰와 어댑터 연걸
        ListView listView = findViewById(R.id.list_view);
        listView.setAdapter(adapter);
    }
}


GridView

0개의 댓글

관련 채용 정보