Мне нужно реализовать TextView в ActionBar. Этот TextView показывает статус соединения Bluetooth, поэтому он будет обновляться в зависимости от этого состояния.Динамический TextView на ActionBar
Я не говорю об изменении названия ActionBar, но добавляю textview f.e. под названием или с правой стороны.
На данный момент, что я сделал, это создать элемент в menu.xml:
<item
android:id="@+id/statusTextview"
android:actionViewClass="android.widget.TextView"
android:showAsAction="ifRoom"
android:title="Disconected" />
Затем добавить его на mainActivity:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.bluetooth, menu);
return true;
}
@Override
public boolean onPrepareOptionsMenu(final Menu menu) {
final MenuItem menuItem = menu.findItem(R.id.statusTextview);
tvStatus = (TextView) menuItem.getActionView();
return super.onPrepareOptionsMenu(menu);
}
Но это не работает правильно , В первый раз должен показать статус Disconnected
и ничего не показывать. Затем, когда статус изменяется и текстовое окно должно обновляться, оно выдает NPE.
Вот ответ, который использует схему XML вместо: [TextView на панели действий] (http://stackoverflow.com/a/24716629/383414) –