現状、Android StudioのKotlinでTableLayout内にTableRow、さらにそのTableRowの中に複数のTextViewを入れ、
エクセルのシートのようにしたDBを作っています。
この時、各TextView内に文字が入力されたら、それに応じて変動する各TextViewのWidthを取得したいのですが
下記コードではすべて0という値が返ってきてうまくいきません。
val Body = findViewById(R.id.tl_Body) as TableLayout
if (Body.childCount > 0) {
val Bodyrow = Body.getChildAt(0) as TableRow//0行目(最初の行を得る// )
for (cellnum in 0 until Bodyrow.childCount) {
val cell = Bodyrow.getChildAt(cellnum) as TextView
val params = cell.layoutParams as TableRow.LayoutParams //セルのパラメータを得る。
val text = cell.text //セルの中身に値が入っているかをデバッグ時に確認するための行。中身は入っている。
val cellWidth = if (params.span == 1) cell.width else 0 //params.spanは1なのでcell.widthの値が返ってくる。だがその中身が0
}
}
cell.widthの部分が悪いと思われるのですが、代わりにどのような関数でwidthを取得すれば正しい値が取れるのかがわかりません。
お手数ですがご教授をお願いいたします。
回答1件
あなたの回答
tips
プレビュー