Макет Анко на втором занятии не отображается

Первый таймер для Android здесь. Итак, я делаю второе действие через макет Anko, который имеет imageView и 2 textView для имени и описания. Но эти textView не отображаются. Я думаю, что код выглядит хорошо, но я не знаю, он все еще не появляется. Любое решение? Благодарю.

- основная деятельность

class MainActivity: AppCompatActivity () {

var items: MutableList<Item> = mutableListOf()

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(activity_main)
    initData()

    club_list.layoutManager = LinearLayoutManager(this)
    club_list.adapter = RecyclerViewAdapter(this,items){
        startActivity(intentFor<SecondActivity>(forto to it.clubName, forto to clubDesc, forto to it.clubImage))

    }
}
@SuppressLint()
private fun initData(){
    val nameClub = resources.getStringArray(club_name)
    val descClub = resources.getStringArray(club_desc)
    val imageClub = resources.obtainTypedArray(club_image)
    items.clear()

    for (i in nameClub.indices) {
        items.add(Item(nameClub[i], descClub[i], imageClub.getResourceId(i, 1)))
    }
    imageClub.recycle()
}

}

const val forto = "com.my.app"

--SecondActivity

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    linearLayout {
        orientation = LinearLayout.VERTICAL

        val image = intent.getIntExtra(forto, 1)

        imageView {
            topPadding = dip(16)
            imageResource = image
        }.lparams(width = matchParent, height = dip(100)) {
            gravity = Gravity.CENTER_HORIZONTAL

            val namaClub = intent.getStringExtra(forto)

            textView {
                text = namaClub
                textAlignment = View.TEXT_ALIGNMENT_CENTER
            }.lparams(width = matchParent)
        }

        val clubDesc = intent.getStringExtra(forto)

        verticalLayout {
            textView {
                text = clubDesc
                padding = dip(16)
            }.lparams(width = matchParent)
        }
    }
}

- Класс данных, если вам это нужно

@Parcelize класс данных Item (var clubName: String, var clubDesc: String, var clubImage: Int): Parcelable

1 ответ

Во втором упражнении у вас есть текстовое представление внутри блока "lparams" imageView. Я подозреваю, что вы хотели закрыть lparams после того, как вы установили гравитацию.

Другие вопросы по тегам