【问题标题】:App crashes while loading another activity in android development在android开发中加载另一个活动时应用程序崩溃
【发布时间】:2021-09-04 08:56:20
【问题描述】:

当我尝试通过图像按钮加载另一个活动时,我的应用程序崩溃了。

我的第一个活动

package com.mycompany.myapp;

import android.app.*;
import android.os.*;
import android.widget.*;
import android.view.*;
import android.content.Intent;
import android.view.View.*;

public class MainActivity extends Activity 
{

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
    public void profile(View view)
    {
        Intent gender_intent = new Intent(this,genderselection.class);
        startActivity(gender_intent);
    }
}

MyfirstActivity xml 文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:background = "@drawable/original"
    >
   <ImageButton
        android:gravity = "center_vertical"
        android:layout_marginTop = "-345dp"
        android:id = "@+id/m_b"
        android:layout_width ="200dp"
        android:layout_height = "200dp"
        android:background= "@drawable/profile"
        android:onClick = "Profile"
   />
   <TextView
        android:layout_width ="200dp"
        android:layout_height = "50dp"
        android:text = "ENTER NAME"
        android:gravity = "center"
        android:layout_below = "@id/m_b"
        android:textSize = "27dp"
        android:textColor = "#000000"
        android:textStyle = "bold"
        android:id = "@+id/textname"
   />
   <EditText
        android:gravity = "center"
        android:layout_width ="200dp"
        android:layout_height = "50dp"
        android:layout_below = "@id/textname"
        android:id = "@+id/input"
   />
   <ImageButton
        android:gravity = "bottom"
        android:layout_width ="200dp"
        android:layout_height = "50dp"
        android:text = "Confirm"
        android:textColor = "#ffffff"
        android:background = "@drawable/done"
        android:layout_marginBottom= "-100dp"
    />
        
    
    
        
        
        
</RelativeLayout

我的第二个活动

package com.mycompany.myapp;

import android.app.*;
import android.os.*;
import android.widget.*;
import android.view.*;
import android.content.Intent;

public class genderselection extends Activity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.gender);
    }
}

MySecondActivity xml 文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    
    <ImageButton
         
        android:gravity= "center_vertical"
        android:layout_height = "120dp"
        android:layout_width = "120dp"
        android:background = "@drawable/mprofile"
        />
    
</LinearLayout

清单文件

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

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

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

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

</manifest>

我是全新的,没有使用 android studio。 这只是一个简单的ide 请帮助我 谢谢

我正在使用 play store 的 ide 并在我的手机中进行此编码

【问题讨论】:

  • 你在哪里加载带有图像的第二个活动?我所看到的只有 2 个活动,其中第 2 个活动具有您要从中加载的图像?
  • 也添加错误日志

标签: java android android-activity imagebutton


【解决方案1】:

尝试使用以下代码,不要在清单文件中添加第二个活动。尝试更新您的清单文件。

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

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

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".genderselection"
        android:label="@string/app_name" >
       
    </activity>
    
  </application>

</manifest>

【讨论】:

    【解决方案2】:

    首先在您的清单文件中,我注意到您的活动具有与 .MainActivity 相同的名称。 您需要删除清单文件中的以下第二个活动标签

    `<activity
                android:name=".MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.VIEW" />
    
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity>`
    

    并用这一行替换上面的代码用于第二个活动

    <activity android:name=".genderselection"></activity>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多