Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java App致力于牛轧糖和x2B;但是在棉花糖和棒棒糖上崩溃了_Java_Android_Android Layout_Gradle - Fatal编程技术网

Java App致力于牛轧糖和x2B;但是在棉花糖和棒棒糖上崩溃了

Java App致力于牛轧糖和x2B;但是在棉花糖和棒棒糖上崩溃了,java,android,android-layout,gradle,Java,Android,Android Layout,Gradle,这是我每次启动应用程序时的错误报告,它会崩溃并显示 很遗憾,{app name}已停止 java.lang.RuntimeException: at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2339) at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2413) at android.app.

这是我每次启动应用程序时的错误报告,它会崩溃并显示

很遗憾,{app name}已停止

java.lang.RuntimeException:

  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2339)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2413)
  at android.app.ActivityThread.access$800 (ActivityThread.java:155)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1317)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:135)
  at android.app.ActivityThread.main (ActivityThread.java:5343)
  at java.lang.reflect.Method.invoke (Native Method)
  at java.lang.reflect.Method.invoke (Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:905)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:700)
  at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:763)
  at android.view.LayoutInflater.rInflate (LayoutInflater.java:806)
  at android.view.LayoutInflater.inflate (LayoutInflater.java:504)
  at android.view.LayoutInflater.inflate (LayoutInflater.java:414)
  at android.view.LayoutInflater.inflate (LayoutInflater.java:365)
  at android.support.v7.app.AppCompatDelegateImplV9.setContentView (AppCompatDelegateImplV9.java:287)
  at android.support.v7.app.AppCompatActivity.setContentView (AppCompatActivity.java:139)
  at com.khokhar.yousaf.cipher.Splash.onCreate (Splash.java:15)
  at android.app.Activity.performCreate (Activity.java:6010)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1129)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2292)
  at android.content.res.Resources.loadDrawableForCookie (Resources.java:2444)
  at android.content.res.Resources.loadDrawable (Resources.java:2384)
  at android.content.res.TypedArray.getDrawable (TypedArray.java:749)
  at android.view.View.<init> (View.java:3742)
  at android.widget.ImageView.<init> (ImageView.java:149)
  at android.widget.ImageView.<init> (ImageView.java:145)
  at android.support.v7.widget.AppCompatImageView.<init> (AppCompatImageView.java:71)
  at android.support.v7.widget.AppCompatImageView.<init> (AppCompatImageView.java:67)
  at android.support.v7.app.AppCompatViewInflater.createImageView (AppCompatViewInflater.java:181)
  at android.support.v7.app.AppCompatViewInflater.createView (AppCompatViewInflater.java:105)
  at android.support.v7.app.AppCompatDelegateImplV9.createView (AppCompatDelegateImplV9.java:1035)
  at android.support.v7.app.AppCompatDelegateImplV9.onCreateView (AppCompatDelegateImplV9.java:1092)
  at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:725)
原因:android.view.InflateException:

  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2339)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2413)
  at android.app.ActivityThread.access$800 (ActivityThread.java:155)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1317)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:135)
  at android.app.ActivityThread.main (ActivityThread.java:5343)
  at java.lang.reflect.Method.invoke (Native Method)
  at java.lang.reflect.Method.invoke (Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:905)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:700)
  at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:763)
  at android.view.LayoutInflater.rInflate (LayoutInflater.java:806)
  at android.view.LayoutInflater.inflate (LayoutInflater.java:504)
  at android.view.LayoutInflater.inflate (LayoutInflater.java:414)
  at android.view.LayoutInflater.inflate (LayoutInflater.java:365)
  at android.support.v7.app.AppCompatDelegateImplV9.setContentView (AppCompatDelegateImplV9.java:287)
  at android.support.v7.app.AppCompatActivity.setContentView (AppCompatActivity.java:139)
  at com.khokhar.yousaf.cipher.Splash.onCreate (Splash.java:15)
  at android.app.Activity.performCreate (Activity.java:6010)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1129)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2292)
  at android.content.res.Resources.loadDrawableForCookie (Resources.java:2444)
  at android.content.res.Resources.loadDrawable (Resources.java:2384)
  at android.content.res.TypedArray.getDrawable (TypedArray.java:749)
  at android.view.View.<init> (View.java:3742)
  at android.widget.ImageView.<init> (ImageView.java:149)
  at android.widget.ImageView.<init> (ImageView.java:145)
  at android.support.v7.widget.AppCompatImageView.<init> (AppCompatImageView.java:71)
  at android.support.v7.widget.AppCompatImageView.<init> (AppCompatImageView.java:67)
  at android.support.v7.app.AppCompatViewInflater.createImageView (AppCompatViewInflater.java:181)
  at android.support.v7.app.AppCompatViewInflater.createView (AppCompatViewInflater.java:105)
  at android.support.v7.app.AppCompatDelegateImplV9.createView (AppCompatDelegateImplV9.java:1035)
  at android.support.v7.app.AppCompatDelegateImplV9.onCreateView (AppCompatDelegateImplV9.java:1092)
  at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:725)
原因:android.content.res.Resources$NotFoundException:

  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2339)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2413)
  at android.app.ActivityThread.access$800 (ActivityThread.java:155)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1317)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:135)
  at android.app.ActivityThread.main (ActivityThread.java:5343)
  at java.lang.reflect.Method.invoke (Native Method)
  at java.lang.reflect.Method.invoke (Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:905)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:700)
  at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:763)
  at android.view.LayoutInflater.rInflate (LayoutInflater.java:806)
  at android.view.LayoutInflater.inflate (LayoutInflater.java:504)
  at android.view.LayoutInflater.inflate (LayoutInflater.java:414)
  at android.view.LayoutInflater.inflate (LayoutInflater.java:365)
  at android.support.v7.app.AppCompatDelegateImplV9.setContentView (AppCompatDelegateImplV9.java:287)
  at android.support.v7.app.AppCompatActivity.setContentView (AppCompatActivity.java:139)
  at com.khokhar.yousaf.cipher.Splash.onCreate (Splash.java:15)
  at android.app.Activity.performCreate (Activity.java:6010)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1129)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2292)
  at android.content.res.Resources.loadDrawableForCookie (Resources.java:2444)
  at android.content.res.Resources.loadDrawable (Resources.java:2384)
  at android.content.res.TypedArray.getDrawable (TypedArray.java:749)
  at android.view.View.<init> (View.java:3742)
  at android.widget.ImageView.<init> (ImageView.java:149)
  at android.widget.ImageView.<init> (ImageView.java:145)
  at android.support.v7.widget.AppCompatImageView.<init> (AppCompatImageView.java:71)
  at android.support.v7.widget.AppCompatImageView.<init> (AppCompatImageView.java:67)
  at android.support.v7.app.AppCompatViewInflater.createImageView (AppCompatViewInflater.java:181)
  at android.support.v7.app.AppCompatViewInflater.createView (AppCompatViewInflater.java:105)
  at android.support.v7.app.AppCompatDelegateImplV9.createView (AppCompatDelegateImplV9.java:1035)
  at android.support.v7.app.AppCompatDelegateImplV9.onCreateView (AppCompatDelegateImplV9.java:1092)
  at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:725)
和此XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/splashScreen"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/colorPrimary"
    android:orientation="vertical"
    tools:context="com.khokhar.yousaf.cipher.Splash">


    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:background="@drawable/ic_launcher_foreground"
        android:contentDescription="@string/app_name"
        android:scaleType="fitXY"
        android:src="@drawable/mediumload" />


</RelativeLayout>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:background="@drawable/loading_screen"

    android:orientation="vertical"
    tools:context="com.khokhar.yousaf.cipher.MainActivity">

    <ProgressBar
        android:id="@+id/progressBar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_gravity="center_vertical|center_horizontal"
        android:layout_marginTop="218dp"
        android:progressTint="?android:attr/fastScrollTextColor"
        android:visibility="invisible" />

    <TextView
        android:id="@+id/textView1212"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="23dp"
        android:textColor="@android:color/holo_red_dark"
        android:textSize="13sp"
        android:textStyle="bold|italic" />

    <WebView
        android:id="@+id/webView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:animationCache="true"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="41dp" />
</RelativeLayout>
我从闪屏XML中删除了背景,但没有任何效果

mainActivityXML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/splashScreen"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/colorPrimary"
    android:orientation="vertical"
    tools:context="com.khokhar.yousaf.cipher.Splash">


    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:background="@drawable/ic_launcher_foreground"
        android:contentDescription="@string/app_name"
        android:scaleType="fitXY"
        android:src="@drawable/mediumload" />


</RelativeLayout>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:background="@drawable/loading_screen"

    android:orientation="vertical"
    tools:context="com.khokhar.yousaf.cipher.MainActivity">

    <ProgressBar
        android:id="@+id/progressBar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_gravity="center_vertical|center_horizontal"
        android:layout_marginTop="218dp"
        android:progressTint="?android:attr/fastScrollTextColor"
        android:visibility="invisible" />

    <TextView
        android:id="@+id/textView1212"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="23dp"
        android:textColor="@android:color/holo_red_dark"
        android:textSize="13sp"
        android:textStyle="bold|italic" />

    <WebView
        android:id="@+id/webView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:animationCache="true"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="41dp" />
</RelativeLayout>


我想不出来。

图像视图中删除
背景

import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Message;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.CookieManager;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    ProgressBar progressBar;
    WebView webView;
    String url="https://website/";
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        progressBar = (ProgressBar) findViewById(R.id.progressBar1);
        webView = (WebView) findViewById(R.id.webView);
        textView = (TextView) findViewById(R.id.textView1212);

        webView.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress) {

                progressBar.setProgress(progress);
                textView.setText(progress + "");
            }
            @Override
            public boolean onCreateWindow(WebView view, boolean isDialog,
                                          boolean isUserGesture, Message resultMsg) {



                WebView newWebView = new WebView(MainActivity.this);
                newWebView.getSettings().setJavaScriptEnabled(true);
                newWebView.getSettings().setSupportZoom(true);
                newWebView.getSettings().setBuiltInZoomControls(true);
                newWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
                newWebView.getSettings().setSupportMultipleWindows(true);
                view.addView(newWebView);
                WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
                transport.setWebView(newWebView);
                resultMsg.sendToTarget();

                newWebView.setWebViewClient(new WebViewClient() {
                    @Override
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {
                        view.loadUrl(url);
                        return true;
                    }
                });

                return true;
            }


});

        webView.setWebViewClient(new MyWebViewClient());
        WebSettings browserSetting = webView.getSettings();
        webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
        webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.setAcceptCookie(true);
        browserSetting.setJavaScriptCanOpenWindowsAutomatically(true);
        browserSetting.setJavaScriptEnabled(true);
        browserSetting.setLoadWithOverviewMode(true);
        browserSetting.setSupportMultipleWindows(true);
        browserSetting.setDatabaseEnabled(true);
        browserSetting.setAppCacheEnabled(true);
        browserSetting.setDomStorageEnabled(true);
        browserSetting.setDomStorageEnabled(true);
        browserSetting.setGeolocationEnabled(true);
        browserSetting.setSaveFormData(false);
        browserSetting.setUseWideViewPort(true);
        browserSetting.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
        browserSetting.setCacheMode(WebSettings.LOAD_NO_CACHE);
        browserSetting.setDomStorageEnabled(true);
        if (android.os.Build.VERSION.SDK_INT >= 21) {
            CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
        }else {
            CookieManager.getInstance().setAcceptCookie(true);
        }
        webView.loadUrl(url);
    }

    private class MyWebViewClient extends WebViewClient {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            progressBar.setVisibility(View.INVISIBLE);
            super.onPageStarted(view, url, favicon);
        }


        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            progressBar.setVisibility(View.GONE);
        }
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // Check if the key event was the Back button and if there's history
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
            webView.goBack();
            return true;
        }
        // If it wasn't the Back key or there's no web page history, bubble up to the default
        // system behavior (probably exit the activity)
        return super.onKeyDown(keyCode, event);
    }
    public void onBackPressed() {
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                MainActivity.this);

        // set title
        alertDialogBuilder.setTitle("Exit");

        // set dialog message
        alertDialogBuilder
                .setMessage("Are You Sure?")
                .setCancelable(false)
                .setPositiveButton("Yes",new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,int id) {
                        // if this button is clicked, close
                        // current activity
                        MainActivity.this.finish();
                    }
                })
                .setNegativeButton("No",new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        // if this button is clicked, just close
                        // the dialog box and do nothing
                        dialog.cancel();
                    }
                });

        // create alert dialog
        AlertDialog alertDialog = alertDialogBuilder.create();

        // show it
        alertDialog.show();
        alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.GRAY));

    }
}

原因是较低版本无法在drawable目录中找到ic_launcher_前台,该目录实际上存在于drawable-v24中。

删除背景图像,然后像这样写入图像视图

 <ImageView
    android:id="@+id/imageView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:contentDescription="@string/app_name"
    android:scaleType="fitXY"
    android:src="@drawable/mediumload" />

您不能在后台线程上启动新活动。。由于运行新线程并在内部启动新活动,它将崩溃。。 2种解决方案:在线程外声明处理程序

Handler handler = new Handler();
在线程运行内部
handler.post(new Runnable(){public void run(){startActivity(..)})
或使用功能:

RunOnUiThread(new Runnable() { public void run() { startActivity(...) } );

您是否已将MainActivity添加到应用程序的清单中?另外,请发布您的主要活动代码。请尝试从中删除背景ImageView@ItzikSamara编辑我的帖子。检查一下,同样的结果。在推出棒棒糖时仍然崩溃。同样的结果。在棒棒糖上启动时仍然崩溃。你能解释更多吗?你尝试在一个不是主线程(UI线程)的线程上启动新活动,因为活动是UI的一部分,它应该从主线程而不是后台线程开始