У меня есть RelativeLayout
с двумя объектами TextView
. Я хочу, чтобы @+id/b
поднялся, если отсутствует @+id/a
.RelativeLayout: layout_alignWithParentIfMissing не работает
Поэтому я попытался установить контент null
, когда я раздуваю родительский вид, но все, что происходит, это то, что текст просто не отображается. @+id/b
остается на своем месте и @+id/a
все еще там - без текста.
public View getView(int position, View convertView, ViewGroup parent) {
// ...
holder.a.setText(null);
//parent.removeView(holder.a) // Did not work
//holder.a.setVisibility(View.INVISIBLE); // Did not work
// ...
}
Я также попытался удалить с parent.removeView(holder.a)
результате в первом классе приложения-аварии.
Где я ошибся?
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/a"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"/>
<TextView
android:id="@+id/b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:layout_alignWithParentIfMissing="true"
android:layout_below="@+id/a"
android:layout_alignParentBottom="@+id/a"/>
</RelativeLayout>
Речь идет не о видимости. Речь идет о '@ + id/b', чтобы двигаться вверх, если' @ + id/a' удален, невидим или пуст. – displayname
И вы попробовали два метода для удаления 'a', но никто из них не работал. Кстати, есть ли причина использовать« RelativeLayout »вместо« LinearLayout »? – Lamorak
Afaik вы должны использовать 'RelativeLayout' для такой вещи, как он предлагает такие атрибуты, как' android: layout_alignWithParentIfMissing', которые должны делать то, о чем я прошу. – displayname