Мне нужно реализовать TextView в ActionBar. Этот TextView показывает статус соединения Bluetooth, поэтому он будет обновляться в зависимости от этого состояния.
Я не говорю об изменении названия 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.