본문 바로가기
카테고리 없음

ListView에 EditText넣기

by kangs' tong 2023. 8. 30.

ListView에 EditText넣기

1. 개요

ListView는 사용자가 목록 형태로 데이터를 확인하고 선택할 수 있는 Android UI 요소입니다. EditText는 사용자가 텍스트를 입력할 수 있는 Android UI 요소입니다. 이 포스팅에서는 ListView에 EditText를 넣는 방법에 대해 자세히 알아보겠습니다.

2. ListView와 EditText 생성

먼저, ListView와 EditText를 XML 레이아웃 파일에서 생성해야 합니다. 다음 코드를 참고하여 ListView와 EditText를 추가해주세요.

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

<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

3. ListView와 EditText 연결

ListView와 EditText 객체를 Java 코드에서 참조하기 위해 연결해야 합니다. 다음과 같은 코드를 사용하여 ListView와 EditText를 연결해주세요.

ListView listView = findViewById(R.id.listView);
EditText editText = findViewById(R.id.editText);

4. 데이터 소스 생성

ListView에 표시할 데이터를 생성해야 합니다. 예를 들어, 문자열 배열을 데이터 소스로 사용하려면 다음과 같이 배열을 생성해주세요.

String[] data = {"Item 1", "Item 2", "Item 3"};

5. 어댑터 설정

ListView는 어댑터(Adapter)를 통해 데이터와 UI를 연결합니다. ArrayAdapter를 사용하여 ListView와 데이터 소스를 연결하는 코드를 작성해주세요.

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

6. EditText 입력 처리

EditText에 텍스트를 입력하고 엔터를 눌렀을 때 ListView에 아이템을 추가할 수 있도록 처리해야 합니다. 다음과 같은 코드를 사용하여 EditText의 입력 이벤트를 처리해주세요.

editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {
            String newItem = editText.getText().toString();
            adapter.add(newItem);
            editText.setText("");
            return true;
        }
        return false;
    }
});

마무리

이제 ListView에 EditText를 넣는 방법에 대해 알아보았습니다. 위에 설명한 단계들을 따라가면 ListView에 EditText를 넣을 수 있습니다. ListView가 필요한 경우 사용자가 실시간으로 데이터를 추가하고 편집할 수 있기 때문에 EditText를 사용하는 것은 매우 유용합니다. 이를 통해 사용자는 편리하게 목록을 관리할 수 있습니다.

댓글