Java 调用Intent时关闭应用程序

Java 调用Intent时关闭应用程序,java,android,class,android-intent,Java,Android,Class,Android Intent,我有两门课。我正在从我的菜单类调用一个intent,当我调用intent转到我的MainActivity类时,它会给我一个错误,不幸的是,app name已经停止。我需要帮助弄清楚发生了什么事。我知道这是因为MainActivity中的某个地方出错了。我只是需要帮助找到它 以下是MainActivity.java的代码: package com.arborhillsvet.arborhillsveterinarianclinic; import android.app.AlertDialog;

我有两门课。我正在从我的菜单类调用一个intent,当我调用intent转到我的MainActivity类时,它会给我一个错误,不幸的是,app name已经停止。我需要帮助弄清楚发生了什么事。我知道这是因为MainActivity中的某个地方出错了。我只是需要帮助找到它

以下是MainActivity.java的代码:

package com.arborhillsvet.arborhillsveterinarianclinic;
import android.app.AlertDialog;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ViewAnimator;

import com.parse.FindCallback;
import com.parse.Parse;
import com.parse.ParseException;
import com.parse.ParseObject;
import com.parse.ParsePush;
import com.parse.ParseQuery;
import com.parse.SaveCallback;

import java.util.List;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    Parse.enableLocalDatastore(this);

    Parse.initialize(this, "parse information", "parse information");

    ParsePush.subscribeInBackground("", new SaveCallback() {
        @Override
        public void done(ParseException e) {
            if (e == null) {
                Log.d("com.parse.push", "successfully subscribed to the broadcast channel.");
            } else {
                Log.e("com.parse.push", "failed to subscribe for push", e);
            }
        }
    });

    WebView appointWeb = (WebView) findViewById(R.id.appointments);
    appointWeb.loadUrl("https://www.google.com");
    WebSettings webSettings = appointWeb.getSettings();
    webSettings.setJavaScriptEnabled(true);
    appointWeb.setWebViewClient(new WebViewClient());

    WebView promosWeb = (WebView) findViewById(R.id.promos);
    promosWeb.loadUrl("https://www.yahoo.com");
    WebSettings webSettings2 = promosWeb.getSettings();
    webSettings2.setJavaScriptEnabled(true);
    promosWeb.setWebViewClient(new WebViewClient());

    WebView infoWeb = (WebView) findViewById(R.id.info);
    infoWeb.loadUrl("https://www.bing.com");
    WebSettings webSettings3 = infoWeb.getSettings();
    webSettings3.setJavaScriptEnabled(true);
    infoWeb.setWebViewClient(new WebViewClient());

    WebView medsWeb = (WebView) findViewById(R.id.medicines);
    medsWeb.loadUrl("https://www.aol.com");
    WebSettings webSettings4 = medsWeb.getSettings();
    webSettings4.setJavaScriptEnabled(true);
    medsWeb.setWebViewClient(new WebViewClient());




    Button next = (Button) findViewById(R.id.next);
    View.OnClickListener listener = new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            ViewAnimator anim = (ViewAnimator) findViewById(R.id.views);
            anim.showNext();
        }

    };

    next.setOnClickListener(listener);

    Button prev = (Button) findViewById(R.id.prev);
    View.OnClickListener listener2 = new View.OnClickListener() {

        public void onClick(View view) {


            ViewAnimator anim = (ViewAnimator) findViewById(R.id.views);
            anim.showPrevious();

        }


    };

    prev.setOnClickListener(listener2);

    ImageButton menu = (ImageButton) findViewById(R.id.menu);
    View.OnClickListener listener3 = new View.OnClickListener() {

        public void onClick(View view) {
    Intent intent = new Intent(MainActivity.this, menu.class);
    startActivity(intent);
        }


    };

    menu.setOnClickListener(listener3);

}



}
我还编辑了这篇文章,并在有人要求后添加了日志。我想我看到了这个错误,它似乎是Parse.initialize和Parse.enableLocalDatastore方法出了问题,尽管我没有看到它们的位置有任何问题。我想知道是否需要让线程休眠几秒钟,以便首先加载本地数据存储。我不确定,但这是日志

>08-17 19:39:03.018    4601-4601/com.arborhillsvet.arborhillsveterinarianclinic E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.arborhillsvet.arborhillsveterinarianclinic, PID: 4601
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.arborhillsvet.arborhillsveterinarianclinic/com.arborhillsvet.arborhillsveterinarianclinic.MainActivity}: java.lang.IllegalStateException: `Parse#enableLocalDatastore(Context)` must be invoked before `Parse#initialize(Context)`
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5257)
            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:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
     Caused by: java.lang.IllegalStateException: `Parse#enableLocalDatastore(Context)` must be invoked before `Parse#initialize(Context)`
            at com.parse.Parse.enableLocalDatastore(Parse.java:58)
            at com.arborhillsvet.arborhillsveterinarianclinic.MainActivity.onCreate(MainActivity.java:36)
            at android.app.Activity.performCreate(Activity.java:5990)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
            at android.app.ActivityThread.access$800(ActivityThread.java:151)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5257)
            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:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

我需要帮助!请,谢谢。

我想您必须在
应用程序中初始化
类可能会出现问题,因为您在
main活动中初始化

像这样做

public class ParseApplication extends Application {

@Override
public void onCreate() {
    super.onCreate();

    ParseCrashReporting.enable(this);
    Parse.enableLocalDatastore(this);
    Parse.initialize(this, "xxx", "xxx");
}
}

我猜您必须在
应用程序
类中初始化,因为您在
main活动

像这样做

public class ParseApplication extends Application {

@Override
public void onCreate() {
    super.onCreate();

    ParseCrashReporting.enable(this);
    Parse.enableLocalDatastore(this);
    Parse.initialize(this, "xxx", "xxx");
}
}

你有错误记录吗。?请提供日志这是什么<代码>意图=新意图(MainActivity.this,menu.class)?@Dreo这正是我们所说的。@kishorejethava当然。我去看看有没有日志。那么,我会把它贴上去。@kishorejethava我已经添加了logcat。谢谢你的评论。我真的需要努力记住把日志放在我原来的帖子里。不管怎样,我在原稿上加了一个编辑。谢谢你的帮助,我希望你能继续帮助我解决这个问题。你有错误日志吗。?请提供日志这是什么<代码>意图=新意图(MainActivity.this,menu.class)?@Dreo这正是我们所说的。@kishorejethava当然。我去看看有没有日志。那么,我会把它贴上去。@kishorejethava我已经添加了logcat。谢谢你的评论。我真的需要努力记住把日志放在我原来的帖子里。不管怎样,我在原稿上加了一个编辑。谢谢你的帮助,我希望你能继续帮助我解决这个问题。非常感谢。虽然我早就知道了,但你仍然发布了正确的解决方案,所以我一定会将其标记为正确的,向上的投票。非常感谢。虽然我早就知道了,但你仍然发布了正确的解决方案,所以我肯定会将其标记为正确的和正确的投票。