调用intent时Android应用程序崩溃

时间:2017-03-19 14:53:09

标签: java android android-studio

我在Android应用程序中遇到问题。当我用一个按钮调用Intent时,窗口消失。这是我的代码:

public void btn_open_click(View view) {
    Intent i = new Intent(MainActivity.this, Add_User.class);
    startActivity(i);
}

这里是清单文件:

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

    <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">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name="Add_User"
            android:label="@string/app_name">
        </activity>
    </application>
</manifest>

有什么想法吗?提前谢谢。

3 个答案:

答案 0 :(得分:0)

 <activity
        android:name="com.example.antiatlasdev.myapplication.Add_User"
        android:label="@string/app_name"

        android:theme="@style/AppTheme.NoActionBar"</activity>

使用此

答案 1 :(得分:0)

这是因为您没有为活动使用正确的类名。您正在使用不正确的班级名称:

<activity android:name="Add_User"  
   android:label="@string/app_name">
</ activity>

它应该使用.Add_User而不是Add_User。您需要添加.以告知您的活动名称与您的包名相关。或者您也可以使用完整的包名称和类活动名称。像这样:

<activity android:name="com.yourpackagename.Add_User" 
   android:label="@string/app_name"> 
</activity>

答案 2 :(得分:0)

name属性

  

应该是一个完全限定的类名(例如,&#34; com.example.project.ExtracurricularActivity&#34;)。但是,作为简写,如果名称的第一个字符是句点(例如,&#34; .ExtracurricularActivity&#34;),它将附加到元素中指定的包名称。

因此,如果Add_User包中的com.example.antiatlasdev.myapplication类可以编码为:

<activity
        android:name=".Add_User"
        android:label="@string/app_name">
    </activity>

如果Add_User位于另一个包中,例如在com.example.antiatlasdev.anotherPackage包中,那么您必须将其指定为:

<activity
        android:name="com.example.antiatlasdev.anotherPackage.Add_User"
        android:label="@string/app_name">
    </activity>