Удаление actionBar приводит к сбою моего приложения (К сожалению, приложение остановлено) - PullRequest
0 голосов
/ 13 ноября 2018

Я новичок в app dev и ищу решение этой проблемы, но безрезультатно. Я создаю приложение, которое включает в себя веб-просмотр, и я пытаюсь удалить панель действий, которую я пытался использовать actionBar.hide(); и actionBar.setDisplayShowTitleEnabled(false);. Я даже попробовал actionBar.setHideOnContentScrollEnabled(true);. Что он делает, это открывает окно приложения, затем экран становится черным, приложение закрывается и появляется [К сожалению, приложение остановлено].

вот мой код `* * 1006

import android.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

public class MainActivity extends AppCompatActivity {


    WebView webA;
    ProgressBar progressBar;

    private WebView myWebView;

    @Override
    public void onBackPressed() {
        if (webA.canGoBack()) {
            webA.goBack();
        }
    else {
        finish();
    }
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ActionBar actionBar = getActionBar();
    actionBar.setDisplayShowTitleEnabled(false);//hide title


    webA = (WebView)findViewById(R.id.webA);
    webA.setWebViewClient(new WebViewClient()); // This ensures that it's opened in the webView not default browser
    webA.loadUrl("https://www.fiander.me");

    // Progress bar
    progressBar = findViewById(R.id.progressBar);
    progressBar.setMax(100);
    // WebView
    WebSettings webSettings = webA.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webA.setWebChromeClient(new WebChromeClient(){

`

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Я нашел способ это исправить. То, что я сделал, было:

На вкладке "Проекты" я вошел - res> values> styles.xml.

затем изменил имя родителя на Theme.AppCompat.Light.NoActionBar вот так:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
0 голосов
/ 13 ноября 2018

В вашем манифесте AndroidManifest.xml вы определяете тему вашего приложения, что-то вроде:

android:theme="@style/AppTheme"

, и эта тема определена в styles.xml, что-то вроде:

<style name="AppTheme" parent="Theme.AppCompat.Light.LightActionBar">

changeэто:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

, поэтому в вашем приложении нет ActionBarи вы можете удалить этот код:

ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);//hide title

из onCreate()

...