Макет Анко на втором занятии не отображается - PullRequest
0 голосов
/ 11 сентября 2018

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

- класс MainActivity

класс 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 data class Item (var clubName: String, var clubDesc: String, var clubImage: Int): Parcelable

1 Ответ

0 голосов
/ 22 сентября 2018

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

...