Skip to content

Commit 402f651

Browse files
committed
一覧画面を表示する処理を書く
1 parent d192eb0 commit 402f651

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,54 @@
11
package com.example.kotlin_qiita_client
22

3+
import android.content.Context
34
import androidx.appcompat.app.AppCompatActivity
45
import android.os.Bundle
6+
import android.view.View
7+
import android.view.ViewGroup
8+
import android.widget.ArrayAdapter
9+
import android.widget.ImageView
10+
import android.widget.ListView
11+
import android.widget.TextView
12+
import com.squareup.picasso.Picasso
513

614
class MainActivity : AppCompatActivity() {
715

16+
lateinit private var mAdapter: ListAdapter
17+
818
override fun onCreate(savedInstanceState: Bundle?) {
919
super.onCreate(savedInstanceState)
1020
setContentView(R.layout.activity_main)
21+
22+
mAdapter = ListAdapter(this, R.layout.list_item)
23+
24+
val listView = findViewById<ListView>(R.id.list_view) as ListView
25+
listView.adapter = mAdapter
26+
}
27+
28+
private inner class ListAdapter(context: Context, resource: Int) :
29+
ArrayAdapter<Item>(context, resource) {
30+
31+
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
32+
var convertView = convertView
33+
if (convertView == null) {
34+
// 再利用可能なViewがない場合は作る
35+
convertView = layoutInflater.inflate(R.layout.list_item, null)
36+
}
37+
38+
val imageView = convertView?.findViewById<ImageView>(R.id.image_view) as ImageView
39+
val itemTitleView = convertView.findViewById<TextView>(R.id.item_title) as TextView
40+
val userNameView = convertView.findViewById<TextView>(R.id.user_name) as TextView
41+
42+
imageView.setImageBitmap(null) // 残ってる画像を消す(再利用された時)
43+
44+
// 表示する行番号のデータを取り出す
45+
val result = getItem(position)
46+
47+
Picasso.with(context).load(result.user?.profile_image_url).into(imageView)
48+
itemTitleView.text = result.title
49+
userNameView.text = result.user?.name
50+
51+
return convertView
52+
}
1153
}
1254
}

0 commit comments

Comments
 (0)