В прошлом, когда я создаю собственный макет таблицы, я создаю представления детей в java, а затем добавляю их в таблицу, используя tableRow.addView(childView)
. В настоящее время, вместо того, чтобы создавать все мои детские взгляды вручную, я создал их в xml, а затем раздул их в tableRow.Как добавить завышенный вид в пользовательский tableLayout
Так, например, я
RelativeLayout gameView = (RelativeLayout) mInflater.inflate(R.layout.my_game,
new RelativeLayout(context));
… //edits to gameView
gameView.requestLayout();
((ViewGroup) gameView.getParent()).removeAllViews();
tableRow.addView(gameView);
addView(tableRow);
Моя проблема, однако, заключается в следующем: если я выхожу из линии ((ViewGroup) gameView.getParent()).removeAllViews()
тогда я получаю сообщение об ошибке, что представление уже имеет родителя, и что я должен сначала вызвать revomeView
на родителя ребенка. Не удалось найти какой-либо метод под названием removeView
, я использую removeAllViews
. Но тогда, когда я это делаю, я получаю исключение NullPointerException для родителя.
Итак, вопрос: как раздуть представление, а затем добавить его в таблицу?
Я уже сделал это. Ничего. –