安卓使用GridView实现网格视图
发布日期:2021-06-29 18:29:31 浏览次数:2 分类:技术文章

本文共 3553 字,大约阅读时间需要 11 分钟。

效果图

主要代码

class FlowerAdapter(private val context: Context, flowerData: ArrayList
) : BaseAdapter() {
private var mFlowerData = ArrayList
() private val mInflaterCatalogListItems: LayoutInflater init {
mFlowerData = flowerData mInflaterCatalogListItems = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater } override fun getCount(): Int {
return mFlowerData.size } override fun getItem(position: Int): Any {
return mFlowerData[position] } override fun getItemId(position: Int): Long {
return position.toLong() } override fun getView(position: Int, _convertView: View?, parent: ViewGroup): View {
var convertView: View val holder: ViewHolder if (_convertView == null) {
holder = ViewHolder() convertView = mInflaterCatalogListItems.inflate( R.layout.adapter_flower, null ) holder.nameTv = convertView.findViewById
(R.id.textView) as TextView holder.imageView = convertView.findViewById
(R.id.photoView) as ImageView convertView.tag = holder } else {
convertView = _convertView holder = convertView.tag as ViewHolder } if (mFlowerData[position] != null) {
holder.nameTv?.text = mFlowerData[position].flowerName holder.imageView?.setImageResource(mFlowerData[position].imagePath) } return convertView } private class ViewHolder {
var nameTv: TextView? = null var imageView: ImageView? = null }}
class Flower {
var flowerName: String? = null var imagePath = 0}
class FlowerActivity : AppCompatActivity() {
var dataList = ArrayList
() public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) setContentView(R.layout.activity_flower) dataList = prepareDataList() val gridView = findViewById
(R.id.gridView) as GridView val flowerAdapter = FlowerAdapter(this, dataList) gridView.adapter = flowerAdapter gridView.setOnItemClickListener {
_, _, position, _ -> toast(dataList[position].flowerName!!) } } private fun toast(text: String) = Toast.makeText(this, text, Toast.LENGTH_SHORT).show() private fun prepareDataList(): ArrayList
{
val flowerData = ArrayList
() //1st Item var flower = Flower() flower.flowerName = "Alyssum" flower.imagePath = R.drawable.image1 flowerData.add(flower) //2nd Item flower = Flower() flower.flowerName = "Daisy" flower.imagePath = R.drawable.image2 flowerData.add(flower) //3rd Item flower = Flower() flower.flowerName = "Jasmine" flower.imagePath = R.drawable.image3 flowerData.add(flower) //4th Item flower = Flower() flower.flowerName = "Lily" flower.imagePath = R.drawable.image1 flowerData.add(flower) //5th Item flower = Flower() flower.flowerName = "Poppy" flower.imagePath = R.drawable.image2 flowerData.add(flower) //6th Item flower = Flower() flower.flowerName = "Rose" flower.imagePath = R.drawable.image3 flowerData.add(flower) return flowerData }}

完整源代码

转载地址:https://cxyxy.blog.csdn.net/article/details/106374112 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:安卓性能监控(APM)之启动时间监控
下一篇:安卓压缩/解压缩工具

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月04日 08时44分32秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章