반응형
리스트뷰를 생성해봅시다
MainActivity에서 랜덤 값 생성
package com.example.dding
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import androidx.databinding.DataBindingUtil
import com.example.dding.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var binding : ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val sentenceList = mutableListOf<String>()
sentenceList.add("돈을 사랑치 말고 있는 바를 족한 줄로 알라 그가 친히 말씀하시기를 내가 과연 너희를 버리지 아니하고 과연 너희를 떠나지 아니하리라 하셨느니라")
sentenceList.add("네 하나님 여호와를 기억하라 그가 네게 재물 얻을 능을 주셨음이라 이같이 하심은 네 열조에게 맹세하신 언약을 오늘과 같이 이루려 하심이니라")
sentenceList.add("땅을 권고하사 물을 대어 심히 윤택케 하시며 하나님의 강에 물이 가득하게 하시고 이 같이 땅을 예비하신 후에 저희에게 곡식을 주시나이다")
sentenceList.add("오늘 있다가 내일 아궁이에 던지우는 들풀도 하나님이 이렇게 입히시거든 하물며 너희일까보냐 믿음이 적은 자들아")
sentenceList.add("너희에게는 머리털까지 다 세신바 되었나니 두려워하지 말라 너희는 많은 참새보다 귀하니라")
sentenceList.add("아무것도 염려하지 말고 오직 모든 일에 기도와 간구로 너희 구할 것을 감사함으로 하나님께 아뢰라")
sentenceList.add("나의 하나님이 그리스도 예수 안에서 영광 가운데 그 풍성한대로 너희 모든 쓸 것을 채우시리라")
sentenceList.add("하나님이 능히 모든 은혜를 너희에게 넘치게 하시나니 이는 너희로 모든 일에 항상 모든 것이 넉넉하여 모든 착한 일을 넘치게 하게 하려 하심이라")
Log.e("MainActivity",sentenceList.random())
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
binding.showAllSentenceBtn.setOnClickListener{
val intent = Intent(this, SentenceActivity::class.java)
startActivity(intent)
}
binding.good.setText(sentenceList.random())
}
}
1. layout->listview_item 생성(TextArea 생성)
<?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="100dp">
<TextView
android:id="@+id/listViewTextArea"
android:textSize="15sp"
android:layout_margin="10dp"
android:text="TextArea"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
2. kotlin class 생성->ListviewAdapter(일단 아래대로 넣어준다 이해하려고 하지마셈)
package com.example.dding
import android.view.LayoutInflater
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 convertView = convertView
if (convertView == null) {
convertView = LayoutInflater.from(parent?.context).inflate(R.layout.listview_item, parent, false)
}
var listviewText = convertView?.findViewById<TextView>(R.id.listViewTextArea)
listviewText!!.text = List[position]
return convertView!!
}
}
3. layout->activity_sentence->ListView 아래와 같이 작성
<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SentenceActivity">
<ListView
android:id="@+id/sentenceListView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
4. SentenceActivity 이동
package com.example.dding
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ListView
class SentenceActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_sentence)
val sentenceList = mutableListOf<String>()
sentenceList.add("돈을 사랑치 말고 있는 바를 족한 줄로 알라 그가 친히 말씀하시기를 내가 과연 너희를 버리지 아니하고 과연 너희를 떠나지 아니하리라 하셨느니라")
sentenceList.add("네 하나님 여호와를 기억하라 그가 네게 재물 얻을 능을 주셨음이라 이같이 하심은 네 열조에게 맹세하신 언약을 오늘과 같이 이루려 하심이니라")
sentenceList.add("땅을 권고하사 물을 대어 심히 윤택케 하시며 하나님의 강에 물이 가득하게 하시고 이 같이 땅을 예비하신 후에 저희에게 곡식을 주시나이다")
sentenceList.add("오늘 있다가 내일 아궁이에 던지우는 들풀도 하나님이 이렇게 입히시거든 하물며 너희일까보냐 믿음이 적은 자들아")
sentenceList.add("너희에게는 머리털까지 다 세신바 되었나니 두려워하지 말라 너희는 많은 참새보다 귀하니라")
sentenceList.add("아무것도 염려하지 말고 오직 모든 일에 기도와 간구로 너희 구할 것을 감사함으로 하나님께 아뢰라")
sentenceList.add("나의 하나님이 그리스도 예수 안에서 영광 가운데 그 풍성한대로 너희 모든 쓸 것을 채우시리라")
sentenceList.add("하나님이 능히 모든 은혜를 너희에게 넘치게 하시나니 이는 너희로 모든 일에 항상 모든 것이 넉넉하여 모든 착한 일을 넘치게 하게 하려 하심이라")
val sentenceAdapter = ListviewAdapter(sentenceList)
val listview = findViewById<ListView>(R.id.sentenceListView)
listview.adapter = sentenceAdapter
}
}
반응형
'kotlin↗ > 안드로이드 스튜디오 메이킹' 카테고리의 다른 글
KOTLIN]해당 이미지(버튼)을 누르면 원하는 화면으로 넘어가기 (0) | 2024.02.01 |
---|---|
KOTLIN]이미지 일정하게 간격 두면서 테두리 둥글게 만들기 (0) | 2024.02.01 |
KOTLIN]어플 키면 처음에 등장하는 Splash 화면 만들기 (0) | 2024.02.01 |
KOTLIN]ListView A,B,C 누르는 기본적인 항목 만들기 (1) | 2024.02.01 |
KOTLIN]앱 배경화면 이미지로 변경하기 (0) | 2024.02.01 |