강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

후다닥님의 프로필 이미지
후다닥

작성한 질문수

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

리스트뷰(ListView)와 어댑터(Adapter)에 관한 설명

ListView 초기 실행 안됩니다.

작성

·

40

·

수정됨

0

강의대로 실행하면 검은 앱 화면만 나옵니다.

몇번을 반복해서 타이핑해도 같은 증상이 나옵니다.

 

현재 저는 아래 버전 입니다.

Android Studio Otter 2 Feature Drop | 2025.2.2 Patch 1

Build #AI-252.27397.103.2522.14617522, built on December 19, 2025

Runtime version: 21.0.8+-14196175-b1038.72 amd64

VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.

Toolkit: sun.awt.windows.WToolkit

Windows 11.0

GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation

Memory: 2048M

Cores: 8

Registry:

ide.experimental.ui=true

Non-Bundled Plugins:

com.levinzonr.arch.jetpackcompose.plugin (1.6.0)

Dart (500.0.0)

io.flutter (88.2.0)

 

동영상이 너무 낮고, 등록된 소스하고도 차이가 나서 비교하면서 하기가 참 어렵네요 ㅜ..ㅜ

미묘하게 다른게 있는것 같은데 기초를 따라하기가 어려워요. 

 

image.png

 

 

--activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout

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:id="@+id/main"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity">

<ListView

android:id="@+id/mainListview"

android:layout_width="match_parent"

android:layout_height="match_parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

--ListViewAdapter.kt

package com.chpang.listview_exp

import android.view.LayoutInflater

import android.view.View

import android.view.ViewGroup

import android.widget.BaseAdapter

class ListViewAdapter(val List: MutableList<String>) : BaseAdapter(){

override fun getCount(): Int {

return List.size

}

override fun getItem(position: Int): Any {

return List[position]

}

override fun getItemId(position: Int): Long {

return position.toLong()

}

override fun getView(position: Int, convertView: View?, parent: ViewGroup? ): View {

var converView =convertView

if (converView==null) {

converView = LayoutInflater.from(parent?.context).inflate(R.layout.listview_item, parent, false)

}

return converView!!

}

}

--listveiw_item.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="80dp">

<TextView

android:id="@+id/listviewItem"

android:textSize="30sp"

android:layout_margin="5dp"

android:text="리스트뷰 아이템"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

</LinearLayout>

--MainActivity.kt

package com.chpang.listview_exp

import android.os.Bundle

import android.widget.ListView

import androidx.activity.enableEdgeToEdge

import androidx.appcompat.app.AppCompatActivity

import androidx.core.view.ViewCompat

import androidx.core.view.WindowInsetsCompat

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

val list_item = mutableListOf<String>()

list_item.add("A")

list_item.add("B")

list_item.add("C")

val listview =findViewById<ListView>(R.id.mainListview)

val listAdapter = ListViewAdapter(list_item)

listview.adapter = listAdapter

}

}

 

답변 2

0

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

안녕하세요

우선 수강에 불편을 드려 죄송합니다.

최신 버전으로 강의를 준비하고 있고 1-2주 내로 공개 예정이니, 잠시만 기다려주시겠어요?

 

그리고 전체 프로젝트를 압축해서 구글 드라이브에 올려주시면 제가 다운받아서 실행해보겠습니다.

후다닥님의 프로필 이미지
후다닥
질문자

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

스크린샷 2026-01-04 오전 1.15.51.png

실행해보니 잘 되는거 같습니다.

새로운 에뮬레이터를 만들어서 다시 시도해보시겠어요?

후다닥님의 프로필 이미지
후다닥
질문자

답변을 바로 달아 주셨네요.
역시, 감사합니다.

 

에뮬레이터를 삭제하고, 다른 기종으로 새롭게 생성하니 됩니다.

 

2주전에 막혀서 강의 따라하는것 중단했었습니다., 다시 해도 똑 같은 에러라서

힘들었는데 감사합니다.

안드로이드 참 어렵네요.

0

안녕하세요, 인프런 AI 인턴입니다. 후다닥님.

ListView가 초기 실행되지 않고 검은 화면만 나온다고 하셨군요. 우선 코드에 큰 오류는 없어 보입니다만, 몇 가지 점검할 부분을 안내드리겠습니다.

  1. 레이아웃 파일 명확히 확인하기: activity_main.xmllistview_item.xml 파일명이 올바른지 확인하세요.

  2. 리스트뷰 초기화: MainActivity.kt에서 listview의 초기화를 제대로 했는지 보세요. findViewById 메서드가 올바르게 사용되었는지 확인합니다.

  3. ListView의 높이: activity_main.xml에서 ListView의 높이가 match_parent로 설정이 되어 있어, 다른 뷰가 보이지 않을 수 있습니다. 이 경우 아이템들을 확실히 포함할 수 있는지 확인하세요.

유사한 질문에 대한 답변은 종종 다음의 이유 때문에 발생합니다:
- 레이아웃파일의 아이디 오타: ListView의 id가 mainListview인지 제대로 확인하세요.
- 어댑터 설정 누락: 코드에서 어댑터가 리스트뷰에 제대로 설정되었는지 다시 확인하세요.
- 레이아웃 사이즈 설정 문제: 특히, ListView나 ConstraintLayout 설정이 문제를 일으킬 수 있으니 activity_main.xml에서 실제 기기에서 화면에 표시되는 부분을 점검하세요.

추가적으로, 화면에 아무것도 안 나오는 경우, 로그캣에서 에러 메시지를 확인하여 문제의 원인을 파악하는 것도 필요합니다. 다양한 로그 메시지를 분석할 수 있는 구문에 익숙해지면 문제 해결에 많이 도움됩니다.

유사한 문제에 대한 논의와 해결 방법이 포함된 링크를 참고하시길 바랍니다:
- 리스트뷰 화면문제

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

후다닥님의 프로필 이미지
후다닥

작성한 질문수

질문하기