[Kotlin] 안드로이드 스튜디오에서 ToDo 앱을 만들 때까지
5296 단어 AndroidStudioKotlin
시작하기 전에 만드는 방법을 설명하는 것이 아니라 조사한 궤적을 남긴 것
AndroidStudio에서 앱 개발을 해보고 싶습니다.
그러나 미경험이므로 뭔가 간단한 것부터 시작하고 싶습니다.
그렇다면 ToDo 앱이라면 쉽게 만들 수 있습니까? 라는 생각으로부터 ToDo 앱의 구조로서 빠뜨릴 수 없는 리스트를 만드는 방법을 조사해 갑니다.
리스트에는 옛날에는 ListView를 사용하고 있었던 것 같지만, RecyclerView 쪽이 좋을 것 같다
AndroidStudio에는 ListView와 RecyclerView가 있습니다.
RecyclerView는 ListView의 대안이 아닙니다.
답게
RecyclerView 는 ListView 에서는 해결할 수 없다 or 보다 자유롭게 커스터마이즈 하고 싶은 경우에 사용한다
「에!? 결과 어느 쪽을 사용하면 모르겠어」
그래서 이것이 어느 쪽을 만들 것인가?
쉬운 것 같은 ListView에서 만들려고 생각합니다.
만들고 싶은 것은 공통시켜 어느 쪽이 맞는지 결정한다.
・리스트 표시
· 목록의 요소 추가
· 목록의 요소 편집
Ⅼ 목록의 요소 삭제
최소한 이것이 있으면 ToDo로서의 역할을 하기 때문에 이것을 목표로 만듭니다.
ListView 사용법
Kotlin에서 Android 앱의 listview를 구현하는 방법을 현역 엔지니어가 해설 【초보자용】
이거 코피
AndroidStudio에서 Empty로 만들고 먼저 activity_main.xml을 만들었습니다.
처음에 있는 TextView는 삭제하고 ListView를 추가했습니다.
ListView는 레거시라고 여기에 있기 때문에 그것을 DD하고 id가 미설정이므로 ListView라고 명명합니다.
레이아웃 시스템의 설정은 원형입니다.
MainActivity를 만들어 갑니다.
이것도 거의 마루코피입니다.
마지막 ListView.adapter = adapter에서 오류 발생
.adapter가 적자입니다.
아마도 이것으로 실행할 수 없다고 생각하면서 실행
계획을 실행할 수 없습니다.
오류 메시지는
Unresolved reference: adapter
조사하면이 이름은 정의되지 않았기 때문에 안된다고합니다.
확실히 listView의 정의가 없기 때문에
MainActivity.ktclass MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var listView = findViewById<ListView>(R.id.listView)
val data = arrayOf("あり", "いもむし", "だんごむし", "てんとうむし")
val adapter = ArrayAdapter(
this,
android.R.layout.simple_list_item_1,
data
)
listView.adapter = adapter
}
}
첫 줄에 findViewById를 추가하십시오.
오류가 사라지고 실행할 수 있었습니다.
리스트 표시는 할 수 있습니다만, 클릭했을 때의 처리등을 하고 있지 않기 때문에 터치해도 아무것도 일어나지 않습니다.
참조 사이트에 클릭했을 때의 처리가 있었으므로 시험에 써 보겠습니다.
이것을 핵과 터치한 요소가 토스트되는 것 같다.
토스트는 무엇입니까?
실행한 결과는 요소를 터치하면 화면 아래에 그 텍스트가 표시되는 느낌, 토스트는 이런 일이 있다고 기억해 둔다
리스트의 표시는 할 수 있었다, 나머지는 추가와 편집(삭제)이 가능하면 불평하지 않는다
하지만 요소를 터치해 편집은 좋지만 추가 등은 그 밖에 플러스 버튼등이 있으면 편리하다.
구체적인 내용을 정의합시다.
· 추가 버튼 만들기
・요소를 터치하면 편집할 수 있는, 요소를 왼쪽으로 슬라이드시키면 그 요소를 삭제한다
이것은 감이지만 슬라이드하면 요소를 삭제는 ListView에서 할 수 없다고 생각한다.
편집은 토스트의 요령으로 그 명령을 변경하면 된다고 생각한다
추가는 버튼을 작성해, 그것을 누르면 배열에 대해서 추가하도록 명령을 내면 좋다고 생각한다.
여기에 포장
setOnItemClickListener로 배열을 괴롭히지 않을지도 모르는 문제, 라고 할까 모르는 방법을 모르는 문제가 발생중
원래의 코드에서는 터치된 요소에 대한 처리이기 때문에 원래의 배열에 대해서는 관여하고 있지 않기 때문이라고 생각된다.
하지만 잘 모르기 때문에 인터넷 서핑을합니다.
Reference
이 문제에 관하여([Kotlin] 안드로이드 스튜디오에서 ToDo 앱을 만들 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/amudox/items/50a6b4f6b0c060151509
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var listView = findViewById<ListView>(R.id.listView)
val data = arrayOf("あり", "いもむし", "だんごむし", "てんとうむし")
val adapter = ArrayAdapter(
this,
android.R.layout.simple_list_item_1,
data
)
listView.adapter = adapter
}
}
Reference
이 문제에 관하여([Kotlin] 안드로이드 스튜디오에서 ToDo 앱을 만들 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/amudox/items/50a6b4f6b0c060151509텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)