开始新活动会使Android应用崩溃

强尼

我已经阅读了有关此主题的几个问题,但似乎没有什么可以解决我的问题。当我开始一个新的Android活动时,该应用程序崩溃。我怀疑它在我的布局文件中。自从Android开始包含内容xml文件以来,我就遇到了这个问题。

这是我开始新活动的地方:

private void logUserIn(User returnedUser){
    userLocalStore.setUserLoggedIn(true);
    userLocalStore.storeUserData(returnedUser);
    startActivity(new Intent(this, MainActivity.class));
}

这是我在MainActivity.class中找到的OnCreate代码:

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

    bJoinLeague = (Button)findViewById(R.id.bJoinLeague);
    bJoinLeague.setOnClickListener(this);

    bCreateLeague = (Button)findViewById(R.id.bCreateLeague);
    bCreateLeague.setOnClickListener(this);

    bViewLeagues = (Button)findViewById(R.id.bViewLeagues);
    bViewLeagues.setOnClickListener(this);

    bLogout = (Button) findViewById(R.id.bLogout);
    bLogout.setOnClickListener(this);

    userLocalStore = new UserLocalStore(this);
}

我怀疑问题出在我的布局文件中,但是由于我是Android开发的新手,所以我不确定。这是我的activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.example.myname.myapp.MainActivity">

<include layout="@layout/content_main" />

</android.support.design.widget.CoordinatorLayout>

还有我的content_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_height="match_parent"
android:padding="10dp"
android:layout_width="match_parent">

<Button
    android:id="@+id/bCreateLeagues"
    android:text="Create League"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<Button
    android:id="@+id/bJoinLeague"
    android:text="Join League"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<Button
    android:id="@+id/bViewLeagues"
    android:text="View My Leagues"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<Button
    android:id="@+id/bLogout"
    android:text="Logout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

</LinearLayout>

我还在Manifest.xml文件中包括了这些新活动,我已经将其视为解决多个类似问题的方法。这是Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myname.myapp">

<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Login" />
    <activity android:name=".Register" />
    <activity
        android:name=".CreateLeague"
        android:label="@string/title_activity_create_league"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".JoinLeague"
        android:label="@string/title_activity_join_league"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".ViewLeagues"
        android:label="@string/title_activity_view_leagues"
        android:theme="@style/AppTheme.NoActionBar"></activity>
</application>

</manifest>

最后,我的logcat

FATAL EXCEPTION: main
Process: com.example.myname.myapp, PID: 3931
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myname.myapp/com.example.myname.myapp.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.example.myname.myapp.MainActivity.onCreate(MainActivity.java:27)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
at android.app.ActivityThread.-wrap11(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5417) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

如前所述,我认为错误在于布局文件中。自API23以来,这已成为一个问题,在该API中,Android Studio分隔了content.xml和activity.xml。

乔布罗

它似乎是由错字引起的。

在Java代码中,您将获取ID为bCreateLeague的按钮,但是在XML中,将创建ID为bCreateLeagues的按钮(请注意末尾为“ s”)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android Studio:使用ImageButton启动新活动会使应用程序崩溃

来自分类Dev

尝试开始新活动时应用崩溃

来自分类Dev

开始点击活动时Android应用崩溃

来自分类Dev

OpenCV Android应用程序在新活动时崩溃

来自分类Dev

开始主要活动时应用崩溃

来自分类Dev

单击按钮开始新活动时,我的应用程序崩溃

来自分类Dev

开始某些活动时android程序崩溃

来自分类Dev

由于启动资产活动的活动开始而导致应用崩溃

来自分类Dev

每次我开始上一个活动时,Android 应用程序都会崩溃

来自分类Dev

添加新活动后应用崩溃

来自分类Dev

以最终意图开始活动时应用程序崩溃

来自分类Dev

我的应用程序开始活动时崩溃

来自分类Dev

在开始的Android应用程序中崩溃

来自分类Dev

开始新的Android活动时出错

来自分类Dev

开始新的Android活动时出错

来自分类Dev

Android使用按钮开始新活动

来自分类Dev

引用接口会使我的应用程序崩溃(android / libgdx)

来自分类Dev

从不同线程开始下一个活动时,Android应用程序崩溃

来自分类Dev

android-通知单击显示当前活动,如果应用程序已关闭则开始新活动

来自分类Dev

android-通知单击显示当前活动,如果应用程序已关闭则开始新活动

来自分类Dev

Quickblox Android-通话活动开始之前音频通话崩溃

来自分类Dev

开始事务处理时,带有FragmentPagerAdapter的ViewPager会使应用程序崩溃

来自分类Dev

开始事务处理时,带有FragmentPagerAdapter的ViewPager会使应用程序崩溃

来自分类Dev

简单的WebView会使应用崩溃

来自分类Dev

更改视图属性会使活动崩溃

来自分类Dev

从SearchView开始新活动

来自分类Dev

开始新活动

来自分类Dev

从onOptionsItemSelected开始新活动

来自分类Dev

当Android Kitkat中有新活动“弹出”时,使用overridePendingTransition会使呼叫活动消失吗?

Related 相关文章

  1. 1

    Android Studio:使用ImageButton启动新活动会使应用程序崩溃

  2. 2

    尝试开始新活动时应用崩溃

  3. 3

    开始点击活动时Android应用崩溃

  4. 4

    OpenCV Android应用程序在新活动时崩溃

  5. 5

    开始主要活动时应用崩溃

  6. 6

    单击按钮开始新活动时,我的应用程序崩溃

  7. 7

    开始某些活动时android程序崩溃

  8. 8

    由于启动资产活动的活动开始而导致应用崩溃

  9. 9

    每次我开始上一个活动时,Android 应用程序都会崩溃

  10. 10

    添加新活动后应用崩溃

  11. 11

    以最终意图开始活动时应用程序崩溃

  12. 12

    我的应用程序开始活动时崩溃

  13. 13

    在开始的Android应用程序中崩溃

  14. 14

    开始新的Android活动时出错

  15. 15

    开始新的Android活动时出错

  16. 16

    Android使用按钮开始新活动

  17. 17

    引用接口会使我的应用程序崩溃(android / libgdx)

  18. 18

    从不同线程开始下一个活动时,Android应用程序崩溃

  19. 19

    android-通知单击显示当前活动,如果应用程序已关闭则开始新活动

  20. 20

    android-通知单击显示当前活动,如果应用程序已关闭则开始新活动

  21. 21

    Quickblox Android-通话活动开始之前音频通话崩溃

  22. 22

    开始事务处理时,带有FragmentPagerAdapter的ViewPager会使应用程序崩溃

  23. 23

    开始事务处理时,带有FragmentPagerAdapter的ViewPager会使应用程序崩溃

  24. 24

    简单的WebView会使应用崩溃

  25. 25

    更改视图属性会使活动崩溃

  26. 26

    从SearchView开始新活动

  27. 27

    开始新活动

  28. 28

    从onOptionsItemSelected开始新活动

  29. 29

    当Android Kitkat中有新活动“弹出”时,使用overridePendingTransition会使呼叫活动消失吗?

热门标签

归档