AndroidStudio 목록 데이터가 '고정'과 '불변'의 차이
8657 단어 안드로이드AndroidStudioKotlin
그런데, 이번은 안드로이드 앱의 리스트 데이터를 설정할 때의 방법에 대해, 정리했습니다.
덧붙여 데이터를 취급하는데 있어서 기본적으로는 DB와의 접속을 도모합니다만, 이번은, 캐릭터 라인으로서 데이터를 취급하는 경우와, kotlin 파일에 기술해 리스트 데이터를 취급하는 방법에 대해서만의 정리가 됩니다.
목록 데이터가 고정된 경우
리스트 데이터로서, strings.xml에 기술한 캐릭터 라인 리스트를 사용한다.
샘플 코드
strings.xml
<resources>
<string name="app_name">リスト選択サンプル</string>
<string-array name="lv_menu">
<item>唐揚げ定食</item>
<item>ハンバーグ定食</item>
<item>生姜焼き定食</item>
<item>ステーキ定食</item>
<item>野菜炒め定食</item>
<item>とんかつ定食</item>
<item>ミンチかつ定食</item>
<item>コロッケ定食</item>
<item>回鍋肉定食</item>
<item>麻婆豆腐定食</item>
<item>青椒肉絲定食</item>
<item>焼き魚定食</item>
<item>焼肉定食</item>
</string-array>
</resources>
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lvMenu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:entries="@array/lv_menu"/>
실행하면 다음 화면이됩니다.
리스트 데이터가 가변인 경우
Kotlin에서 기술할 필요가 있다.
우선은 샘플 코드를 기재합니다.
샘플 코드
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lvMenu"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
MainActivity.kt
package com.websarva.wings.android.listviewsample2
import android.os.Bundle
import android.widget.ArrayAdapter
import android.widget.ListView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//ListViewオブジェクトを取得
val lvMenu = findViewById<ListView>(R.id.lvMenu)
//リストビューに表示するリストデータを作成
var menuList = mutableListOf("からあげ定食","ハンバーグ定食","生姜焼き定食","ステーキ定食",
"野菜炒め定食","とんかつ定食","ミンチかつ定食","チキンかつ定食","コロッケ定食","回鍋肉定食",
"麻婆豆腐定食","青椒肉絲定食","焼き魚","焼肉定食")
//アダプタオブジェクトを生成
val adapter = ArrayAdapter(this@MainActivity,android.R.layout.simple_list_item_1,menuList)
//リストビューにアダプトオブジェクトを設定
lvMenu.adapter = adapter
}
}
위의 코드를 실행하면 고정의 경우와 동일한 화면이됩니다.
해설
활동 중 목록 데이터를 생성하는 절차
1,리스트 데이터 준비
2, 상기 리스트 데이터를 바탕으로 어댑터 오브젝트를 생성한다
3,ListView에 어댑터 객체 설정
1,리스트 데이터 준비
var menuList = mutableListOf
가 적용됩니다.2, 상기 리스트 데이터를 바탕으로 어댑터 오브젝트를 생성한다
val adapter = ArrayAdapter
가 적용됩니다.アダプタ
란, 리스트 뷰에 표시하는 리스트 데이터를 관리해, 리스트 뷰의 각 행에 그 리스트 데이터를 맞추어 가는 움직임을 하는 오브젝트입니다.이미지 이미지
참조
어댑터 오브젝트 생성
어댑터 오브젝트를 생성하려면 adapter 인터페이스를 구현한 클래스를 사용합니다.
주요 어댑터 인터페이스 3 종류
인터페이스 이름
내용
ArrayAdapter
원본 데이터로 Array 또는 MutableList 사용
SimpleAdapter
원 데이터로서 MutableList>를 이용 XML 데이터나 JSON 데이터의 해석 결과를 저장하는데 편리
SimpleCursorAdapter
원본 데이터로
Cursorオブジェクト
를 사용합니다. Cursorオブジェクト
이번에는 정식리스트를 MutableList로 생성하고 있기 때문에
ArrayAdapter
를 사용하고 있습니다.3,ListView에 어댑터 객체 설정
lvMenu.adapter = adapter
해당ListView에 어댑터 객체를 설정하려면 ListView의 adapter 속성을 사용합니다.
Reference
이 문제에 관하여(AndroidStudio 목록 데이터가 '고정'과 '불변'의 차이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nipp/items/b65e520783c6d03b9abb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)