gpt4 book ai didi

java - Android onCreate() 方法中的代码无法正常工作

转载 作者:行者123 更新时间:2023-12-01 16:58:36 26 4
gpt4 key购买 nike

我正在尝试制作一个非常简单的 Android 游戏,到目前为止我有一个名为 startGame() 的方法。它只是播放声音并向 logcat 输出一个随机数作为测试。
我调用startGame()onStart()我的游戏方法Activity但当我这样做时 setContentView()在我的onCreate()似乎不起作用。
我听到声音正在播放,但 GameActivity的布局不会出现,而是声音在主菜单 Activity 上播放。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_game);

//make the hardware volume control buttons affect the music stream instead of the ringer
setVolumeControlStream(AudioManager.STREAM_MUSIC);

}

public void onStart(){
startGame();
}

这是我的 XML 文件,虽然它工作得很好,只显示布局,但当我尝试运行另一段代码时,它就不起作用了:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.wordpress.jakezachariahnixon.alphabetfarm.GameActivity">


<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/imageView"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:background="@drawable/heart" />
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/imageView2"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/imageView3"
android:layout_toStartOf="@+id/imageView3"
android:background="@drawable/heart" />
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/imageView3"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/imageView"
android:layout_toStartOf="@+id/imageView"
android:background="@drawable/heart" />

<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:id="@+id/imageView4"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="@drawable/cow_no_background" />

<ImageButton
android:layout_width="75dp"
android:layout_height="75dp"
android:id="@+id/imageButton3"
android:layout_marginTop="60dp"
android:layout_marginLeft="35dp"
android:background="@drawable/btn_upper_a" />

<ImageButton
android:layout_width="75dp"
android:layout_height="75dp"
android:id="@+id/imageButton4"
android:background="@drawable/btn_upper_b"
android:layout_marginTop="60dp"
android:layout_marginLeft="180dp"/>

<ImageButton
android:layout_width="75dp"
android:layout_height="75dp"
android:id="@+id/imageButton5"
android:background="@drawable/btn_upper_c"
android:layout_marginTop="155dp"
android:layout_marginLeft="35dp" />

<ImageButton
android:layout_width="75dp"
android:layout_height="75dp"
android:id="@+id/imageButton6"
android:background="@drawable/btn_upper_d"
android:layout_marginTop="155dp"
android:layout_marginLeft="180dp"/>

<ImageButton
android:layout_width="75dp"
android:layout_height="75dp"
android:id="@+id/imageButton7"
android:background="@drawable/btn_upper_e"
android:layout_marginTop="250dp"
android:layout_marginLeft="35dp"/>

<ImageButton
android:layout_width="75dp"
android:layout_height="75dp"
android:id="@+id/imageButton8"
android:background="@drawable/btn_upper_f"
android:layout_marginTop="250dp"
android:layout_marginLeft="180dp"/>

我的游戏方法:

public void startGame(){


ImageButton button_a=(ImageButton)findViewById(R.id.imageButton3);
ImageButton button_f=(ImageButton)findViewById(R.id.imageButton8);
ImageButton button_e=(ImageButton)findViewById(R.id.imageButton7);
ImageButton button_d=(ImageButton)findViewById(R.id.imageButton6);
ImageButton button_c=(ImageButton)findViewById(R.id.imageButton5);
ImageButton button_b=(ImageButton)findViewById(R.id.imageButton4);




Random randomGenerator = new Random();
int letter = randomGenerator.nextInt(6);
int letterTapped = -1;
switch(letter){
case 0:
player= MediaPlayer.create(GameActivity.this, R.raw.a);
player.start();
break;
case 1:
player= MediaPlayer.create(GameActivity.this, R.raw.b);
player.start();
break;
case 2:
player= MediaPlayer.create(GameActivity.this, R.raw.c);
player.start();
break;
case 3:
player= MediaPlayer.create(GameActivity.this, R.raw.d);
player.start();
break;
case 4:
player= MediaPlayer.create(GameActivity.this, R.raw.e);
player.start();
break;
case 5:
player= MediaPlayer.create(GameActivity.this, R.raw.f);
player.start();
break;
}

Log.v("Sound played:", String.valueOf(letter));

}

最佳答案

您的 XML 布局没有根元素。这就是问题所在

关于java - Android onCreate() 方法中的代码无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29674675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com