这个问题在这里已有答案:
我正在尝试制作一个具有多个屏幕的应用。我已经制作了2个XML文件和2个java文件,但是我找不到它出错的地方。谁能帮助我?
Here is xml file 1 (called activity_main)。
<ImageView
android:id="@+id/marsfoto1"
android:src="@drawable/marsfoto1"
android:scaleType="centerCrop"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/marsfoto2"
android:src="@drawable/marsfoto2"
android:scaleType="centerCrop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/marsfoto1"/>
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/marsfoto1"
android:padding="60dp"
android:background="@null"/>
</RelativeLayout>
Here is xml file 2 (called activity_main2)。
<ImageView
android:src="@drawable/marsgroot2"
android:scaleType="centerCrop"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:text="Mast Camera"
android:textColor="@android:color/white"
android:textSize="32sp"
android:padding="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
Here is java file 1 (called MainActivity) package com.example.nasaroverapp;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerOnButton();
}
public void addListenerOnButton() {
final Context context = this;
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, MainActivity2.class);
startActivity(intent);
}
});
}
}
Here is java file 2 (called MainActivity2)。 package com.example.nasaroverapp;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
public class MainActivity2 extends MainActivity {
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
}
谁能告诉我我做错了什么?我一直在困惑一个多小时,当我按下activity_main
上的按钮时,我的应用程序一直在崩溃。
你在AndroidManifest.xml
MainActivity2
宣布了吗?可能是导致崩溃的原因
参见文档:https://developer.android.com/guide/topics/manifest/manifest-intro
你应该在你的AndroidManifest.xml
中有这样的东西
<manifest package="com.example.myapp" ... >
<application ... >
<activity android:name=".MainActivity2" ... >
...
</activity>
<activity android:name=".MainActivity" ... >
...
</activity>
</application>
</manifest>