Android - "Zurück" - Pfeil auf der Symbolleiste (AppCompatActivity)
Möchte ich zeigen, der zurück-Pfeil-button in meiner app, aber die app stürzt ab, wenn ich diese in meinem code:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
style.xml
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/PrimaryColor</item>
<item name="colorPrimaryDark">@color/PrimaryColorDark</item>
<item name="colorAccent">@color/PrimaryColor</item>
<item name="colorControlHighlight">@color/ControlHighlight</item>
<item name="android:statusBarColor" tools:targetApi="21">@android:color/transparent</item>
</style>
<style name="ActionBarPopupThemeOverlay" parent="ThemeOverlay.AppCompat.Light" >
<item name="android:textColor">#000000</item>
</style>
<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
<item name="tabIndicatorColor">#FFFFFF</item>
<item name="tabIndicatorHeight">3dp</item>
<item name="tabTextAppearance">@style/MyCustomTabTextAppearance</item>
</style>
<style name="MyCustomTabTextAppearance" parent="TextAppearance.Design.Tab">
<item name="android:textColor">#FFFFFF</item>
</style>
toolbar.xml
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="@dimen/abc_action_bar_default_height_material"
android:elevation="0dp"
android:layout_width="match_parent"
android:id="@+id/toolbar"
android:background="@color/PrimaryColor"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ActionBarPopupThemeOverlay"/>
Klasse (nicht Fragmentieren):
public class WebViewCanale extends AppCompatActivity {
Toolbar toolbar;
TextView textView;
WebView webView;
ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview_canali);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
//Toolbar
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//FindViewById
webView = (WebView) findViewById(R.id.webview);
textView = (TextView) findViewById(R.id.textView);
progressBar = (ProgressBar) findViewById(R.id.progressBar);
//Impostazioni WebView
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setLoadsImagesAutomatically(true);
webView.loadUrl(this.getIntent().getDataString());
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
webView.getSettings().setAppCacheEnabled(false);
//Titolo Toolbar
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
if (!TextUtils.isEmpty(title)) {
WebViewCanale.this.setTitle(title);
}
}
});
}
}
InformationsquelleAutor der Frage Simone Varletta | 2015-09-07
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Frage ich mich, warum es nicht eine komplette Antwort auf SO, aber schließlich löste ich die Sache auf meine eigene:
Verwenden Sie den folgenden Codeausschnitt zu haben zurück-Taste auf die Symbolleiste in einem AppCompatActivity:
InformationsquelleAutor der Antwort SHi ON
Können Sie auch einfach deklarieren, die in der
Manifest
eineParentActivity
mit:<activity
android:name=".ThisActivity"
android:parentActivityName=".TheActivityThatCalledThisOne">
</activity>
InformationsquelleAutor der Antwort ra99nano
hinzufügen dieses Thema:
und in Sie Aktivität:
InformationsquelleAutor der Antwort Lalit Pratap Singh
onSupportNavigateUp()
Diese Methode wird immer aufgerufen, wenn der Benutzer wählt, zum navigieren innerhalb der Anwendung Aktivität Hierarchie aus der Menüleiste.
onBackPressed();
Kümmern knallen das fragment zurück-stack oder der Beendigung der Tätigkeit als angemessen.
InformationsquelleAutor der Antwort Akshay Nandwana
Benötigen Sie Unterstützung actionbar ersten, bevor Ihr es bekommen können. so platzieren Sie den folgenden code
Bevor Sie diesen Code
InformationsquelleAutor der Antwort Karan Mer