我在android中创建了一个小项目,我已经到了在模拟器上加载我的应用程序之后,我按下其中一个按钮,它只显示一个空白屏幕。我不知道为什么这样做。欢迎任何帮助。
这是我的主要课程:
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button Button1=(Button)findViewById(R.id.Button1);
Button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(MainActivity.this,ActivityList.class);
startActivity(i);
}}
);
}
}
这是我的XML清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sportsfitnessapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity android:name=".ActivityList" />
<activity
android:name="com.example.sportsfitnessapp.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>
</application>
</manifest>
我真的需要帮助。谢谢。
这是主XML布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/widget35"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
tools:context=".Screen1Activity" >
<TextView
android:id="@+id/Menutxt"
android:layout_width="300dp"
android:layout_height="65dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="#ffffffff"
android:gravity="center"
android:text="@string/Menu"
android:textColor="#ffff0033"
android:textSize="50sp"
android:textStyle="bold|italic"
android:typeface="serif" />
<Button
android:id="@+id/Button1"
android:layout_width="300dp"
android:layout_height="55dp"
android:layout_alignLeft="@+id/Menutxt"
android:layout_below="@+id/Menutxt"
android:layout_marginTop="20dp"
android:gravity="center"
android:text="@string/Choose_Activity"
android:textColor="#ffffffff"
android:textSize="25sp"
android:typeface="serif"
android:onClick="Button1"/>
<Button
android:id="@+id/Button5"
android:layout_width="300dp"
android:layout_height="55dp"
android:layout_alignLeft="@+id/Button1"
android:layout_below="@+id/Button1"
android:gravity="center"
android:text="@string/Graphical_Records"
android:textColor="#ffffffff"
android:textSize="25sp"
android:typeface="serif" />
<Button
android:id="@+id/Button4"
android:layout_width="300dp"
android:layout_height="55dp"
android:layout_alignLeft="@+id/Button5"
android:layout_below="@+id/Button5"
android:gravity="center"
android:text="@string/Training_Schedule"
android:textColor="#ffffffff"
android:textSize="25sp"
android:typeface="serif" />
<Button
android:id="@+id/Button2"
android:layout_width="300dp"
android:layout_height="55dp"
android:layout_alignLeft="@+id/Button4"
android:layout_below="@+id/Button4"
android:gravity="center"
android:text="@string/Weight_Tracker"
android:textColor="#ffffffff"
android:textSize="25sp"
android:typeface="serif" />
<Button
android:id="@+id/Button3"
android:layout_width="300dp"
android:layout_height="55dp"
android:layout_alignLeft="@+id/Button2"
android:layout_below="@+id/Button2"
android:gravity="center"
android:text="@string/Heart_Rate_Monitor"
android:textColor="#ffffffff"
android:textSize="25sp"
android:typeface="serif" />
</RelativeLayout>
这是ActivityList类:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class ActivityList extends Activity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public void onClick(View v) {
Intent i = new Intent();
setContentView(R.layout.activities_list);
startActivity(i);
}
{;
}
}
这是活动列表XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/widget0"
android:background="@drawable/background" >
<Button
android:id="@+id/Treadmill"
android:layout_width="300dp"
android:layout_height="45dp"
android:layout_alignLeft="@+id/Weights"
android:layout_below="@+id/ActTxt"
android:gravity="center"
android:text="@string/Treadmill"
android:textColor="#ffffffff"
android:textSize="25sp"
android:typeface="serif" />
<Button
android:id="@+id/Aerobics"
android:layout_width="300dp"
android:layout_height="45dp"
android:layout_alignLeft="@+id/Treadmill"
android:layout_below="@+id/Treadmill"
android:gravity="center"
android:text="@string/Aerobic_Steps"
android:textColor="#ffffffff"
android:textSize="25sp"
android:typeface="serif" />
<Button
android:id="@+id/Cycling"
android:layout_width="300dp"
android:layout_height="45dp"
android:layout_alignLeft="@+id/Aerobics"
android:layout_below="@+id/Aerobics"
android:gravity="center"
android:text="@string/Cycling"
android:textColor="#ffffffff"
android:textSize="25sp"
android:typeface="serif" />
<Button
android:id="@+id/Swimming"
android:layout_width="300dp"
android:layout_height="45dp"
android:layout_alignLeft="@+id/Cycling"
android:layout_below="@+id/Cycling"
android:gravity="center"
android:text="@string/Swimming"
android:textColor="#ffffffff"
android:textSize="25sp"
android:typeface="serif" />
<Button
android:id="@+id/Rowing"
android:layout_width="300dp"
android:layout_height="45dp"
android:layout_alignLeft="@+id/Swimming"
android:layout_below="@+id/Swimming"
android:gravity="center"
android:text="@string/Rowing"
android:textColor="#ffffffff"
android:textSize="25sp"
android:typeface="serif" />
<TextView
android:id="@+id/ActTxt"
android:layout_width="300dp"
android:layout_height="55dp"
android:layout_alignLeft="@+id/Treadmill"
android:layout_alignParentTop="true"
android:layout_marginTop="16dp"
android:background="#ffffffff"
android:gravity="center"
android:text="@string/Activities"
android:textColor="#ffff0033"
android:textSize="50sp"
android:typeface="serif" />
<Button
android:id="@+id/ETrainer"
android:layout_width="300dp"
android:layout_height="45dp"
android:layout_alignLeft="@+id/Rowing"
android:layout_below="@+id/Rowing"
android:gravity="center"
android:text="@string/Elliptical_Trainer"
android:textColor="#ffffffff"
android:textSize="25sp"
android:typeface="serif" />
<Button
android:id="@+id/Weights"
android:layout_width="300dp"
android:layout_height="45dp"
android:layout_below="@+id/ETrainer"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="@string/Free_Weights"
android:textColor="#ffffffff"
android:textSize="25sp"
android:typeface="serif" />
</RelativeLayout>
答案 0 :(得分:2)
您可以通过以下代码开始新活动ActivityList
:
Intent i = new Intent(MainActivity.this,ActivityList.class);
startActivity(i);
而且我很确定你没有做过:
setContentView(R.layout.layout_for_your_activity_list);
在onCreate(Bundle savedInstanceState)
。
示例:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
}
实际上你有代码存在,但你需要移动线
setContentView(R.layout.activities_list);
进入
onCreate(Bundle savedInstanceState)
就像我给你的例子一样。
请遵循惯例。
Button Button1=(Button)findViewById(R.id.Button1);
应该是:
Button buttonOne = (Button) findViewById(R.id.button_one);
使用缩进。 ActivityList
中最丑陋的一个:
{;
}
立即删除它。
答案 1 :(得分:0)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activities_list);
}
在ActivityList中使用上面的代码
答案 2 :(得分:0)
检查您是否使用任何权限。如果是,请将它们包含在清单文件中。例如 -
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
我也有同样的问题。该解决方案修复了它。不仅要添加所需的权限,还要检查xml文件中是否有任何严重警告,这也是导致问题的原因。
答案 3 :(得分:-1)
Yuo为button1.OnClick分配了onClick监听器,你正在开始新的活动,即“ActivityList.class”。因此,当您单击该按钮时,将创建新活动,并将显示该活动中的内容。如果“ActivityList”中没有内容 将显示空屏幕。