У меня есть ListView
, внутри которого я динамически заполняю элементы списка в методе getView()
комбинацией TextView
и ImageView
.
Мне нужно вычислить размер представления Text и Image внутри getView, поэтому я смогу установить visibility=gone
, если View слишком большой. Я играю:
public View getView(int position, View convertView, ViewGroup parent) {
..
View listItem=view.findViewById(R.id.listItem);
ImageView imageView=(ImageView)view.findViewById(R.id.myImg);
TextView textView=(TextView)view.findViewById(R.id.mytxt);
if (imageView.getRight()>listItemText.getRight()) {
imageView.setVisibility(View.GONE);
}
if (textView.getRight()>listItemText.getRight()) {
textView.setVisibility(View.GONE);
}
..
}
Однако, поскольку я нахожусь внутри getView()
, значения макета еще не созданы, поэтому я получаю ложные значения для вызова View.getRight()
.
Есть идеи, как это сделать?