expanded_status_bar макет в AOSP 4.0.4 имеет TextView, который выглядит, как это в XMLКак использовать представление, сгенерированное из другого класса?
<com.android.systemui.statusbar.policy.DateView
android:id="@+id/date"
android:textAppearance="@style/TextAppearance.StatusBar.Date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="4dp"
android:singleLine="true"
android:gravity="center"
android:visibility="visible" />
Он порожден «рамки/база/пакеты/SystemUI/SRC/COM/Android/systemui/статусной/Политика/DateView.java»
Он раздувается "рамки/база/пакеты/systemUI/SRC/COM/Android/systemui/статусной/телефон/PhoneStatusBar.java" как так:
ExpandedView expanded = (ExpandedView) View.inflate(context, R.layout.status_bar_expanded, null);
// stuff here
mDateView = (DateView) expanded.findViewById(R.id.date);
I хотите установить его видимость через другой класс, и я пробовал несколько вещей что я читал здесь, все без везения. Последнее, что я попытался было, в моем классе (который также является частью systemui), добавить следующее:
TextView mDateView = (TextView) findViewById(R.id.date);
mDateView.setVisibility(View.GONE);
Однако, оказывается mDateView равна нулю в моем классе. Есть что-то, чего я не хватает? Я много часов искал и пробовал что-то здесь, но ничего не работает. У меня есть навыки Java на уровне среднего уровня, и я все еще пытаюсь обхватить ООП руками, начиная с 20-летнего процессуального языка. Заранее спасибо.
Я изменил определение mDateView, чтобы выглядеть следующим образом:
private DateView mDateView;
DateView mDateView = (DateView) findViewById(R.id.date);
Но я все еще получаю mDateView, как будучи нулевой :(
не решен еще? .... –
- класс DateView расширяет расширенный просмотр? –
Привет, я неправильно понял ваш вопрос, решение - это добавить метод в класс, где вы раздуваете свое мнение. – iNan