Макет Анко на втором занятии не отображается
Первый таймер для 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 после того, как вы установили гравитацию.