Я делаю игру на андроид, и я хотел бы использовать цикл в onClickListener
, чтобы отобразить диалоговое окно, которое хранится в String.xml
App падает, когда умысел новый вид деятельности
Я установил код, но сбои приложения, там нет ошибки в затмении, но я не знаю, что случилось. Так PLZ помочь проверить код. Я покажу код, который я могу запустить без сбоев (с onClickListener
, без цикла) и неправильный код, который вызвал сбой (с помощью цикла, который я написал, я думаю, что-то там не так)
Тот, авария
package com.group5.littlered;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
public class Scene1 extends Activity{
MediaPlayer wovleshowling;
MediaPlayer bgm;
@Override
public void onBackPressed(){}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_scene1);
Intent intent = getIntent();
Button next = (Button) findViewById(R.id.wtf);
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
);
//BGM
bgm = MediaPlayer.create(Scene1.this, R.raw.unsettledthoughts);
bgm.setLooping(true);
bgm.start();
//wovleshowling
wovleshowling = MediaPlayer.create(Scene1.this, R.raw.wolveshowling);
wovleshowling.setLooping(false);
wovleshowling.start();
}
}
Тот, который разбился:
package com.group5.littlered;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
public class Scene1 extends Activity{
MediaPlayer wovleshowling;
MediaPlayer bgm;
int position = 0;
String [] conversation = getResources().getStringArray(R.array.scene1);
TextView frame = (TextView) findViewById(R.id.textView1);
@Override
public void onBackPressed(){}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_scene1);
Intent intent = getIntent();
Button next = (Button) findViewById(R.id.wtf);
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (position < 6){
String sentence = conversation[position];
frame.setText(sentence + "");
position ++ ;
}
}
}
);
//BGM
bgm = MediaPlayer.create(Scene1.this, R.raw.unsettledthoughts);
bgm.setLooping(true);
bgm.start();
//wovleshowling
wovleshowling = MediaPlayer.create(Scene1.this, R.raw.wolveshowling);
wovleshowling.setLooping(false);
wovleshowling.start();
}
}
аварии -> после StackTrace. – njzk2
также вы отправили дважды тот же класс. – njzk2
yah, но они - один и тот же класс, но я могу запустить первый (без цикла, который я написал сам), второй, который я не могу запустить, его грозит катастрофа – user3585596