Ich verwende eine Symbolleiste als Aktionsleiste in einer Aktivität. Ich versuche, die Methode getActionBar().setDisplayHomeAsUpEnabled(true);
zur Datei Activity.java für die Up-Navigation für ältere Geräte hinzuzufügen .
Die Methode erzeugt in Android Studio die folgende Fehlermeldung:
Der Methodenaufruf kann zu einer java.lang.NullPointerException führen
Die Aufwärtsnavigation in der Symbolleiste funktioniert auf neueren Geräten einwandfrei. Jetzt versuche ich herauszufinden, wie sichergestellt werden kann, dass sie auf älteren Geräten funktioniert. Bitte beraten.
Von build.gradle:
dependencies {
compile "com.android.support:appcompat-v7:22.1.0"
}
Aus AndroidManifest.xml:
android:theme="@style/Theme.AppCompat.NoActionBar.FullScreen"
Aus styles.xml
<style name="Theme.AppCompat.NoActionBar.FullScreen" parent="AppTheme">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
von Activity.java
public class CardViewActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cardviewinput);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
// Up navigation to the parent activity for 4.0 and earlier
getActionBar().setDisplayHomeAsUpEnabled(true);
toolbar.setNavigationIcon(R.drawable.ic_action_previous_item);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
}
}