심리테스트를 만드는 초짜입니다.
다 intent를 이용해서 연동하였습니다.
10째 페이지에서 결과값으로 넘어가는 페이지에서 오류가납니다.
기대치못한 오류라고해서 다시 실행해 달라고 떠요
일단 전체적으로 말씀드릴께요
test라는 프로젝트에
come.game.main_sub
m1~m10이 있고 Test2~Test8까지 가 있습니다
come.game.test에는
CalActivity, ResultActivity, TestActivity가 있고요
처음에 TestActivity로 부터 시작을 합니다.
TestActivity에 소스는
package com.game.test;
import com.game.main_sub.*;
import android.app.Activity;
import android.content.*;
import android.os.Bundle;
import android.util.Log;
import android.view.*;
import android.widget.*;
public class TestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.start).setOnClickListener(mClickListener);
findViewById(R.id.cj).setOnClickListener(mClickListener);
findViewById(R.id.cj2).setOnClickListener(mClickListener);
findViewById(R.id.que).setOnClickListener(mClickListener);
}
Button.OnClickListener mClickListener = new Button.OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.start:
startActivity(new Intent(TestActivity.this, m1.class));
break;
case R.id.cj:
startActivity(new Intent(TestActivity.this, Test2.class));
break;
case R.id.cj2:
startActivity(new Intent(TestActivity.this, Test3.class));
break;
case R.id.que:
startActivity(new Intent(TestActivity.this, Test4.class));
break;
}
}
};
}
CalActivity의 소스는
package com.game.test;
import android.app.Application;
import android.content.*;
import android.os.Bundle;
public class CalActivity extends Application {
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate();
}
public static int bu1s=0; //bu1s button1select의 줄임말이고요
public static int bu2s=0;
public static int bu3s=0;
public static int bu4s=0;
public static int selectnum;
public static void selectnum1(){
bu1s++;
}
public static void selectnum2(){
bu2s++;
}
public static void selectnum3(){
bu3s++;
}
public static void selectnum4(){
bu4s++;
}
public void compare(){
if(bu1s>bu2s && bu1s>bu3s && bu1s>bu4s){
selectnum=1;
}
else if(bu2s>bu1s && bu2s>bu3s && bu1s>bu4s){
selectnum=2;
}
else if(bu3s>bu1s && bu3s>bu2s && bu3s>bu4s){
selectnum=3;
}
else if(bu4s>bu1s && bu4s>bu2s && bu4s>bu3s){
selectnum=4;
}
Intent intent = new Intent(CalActivity.this, ResultActivity.class);
intent.putExtra("Flag", selectnum);
startActivity(intent);
}
}
ResultActivity의 소스는
package com.game.test;
import android.app.Activity;
import android.content.*;
import android.os.Bundle;
public class ResultActivity extends Activity{
private int selectresult;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
getIntentData();
if(selectresult==1){
setContentView(R.layout.result);
}
else if(selectresult==2){
setContentView(R.layout.result2);
}
else if(selectresult==3){
setContentView(R.layout.result3);
}
else if(selectresult==4){
setContentView(R.layout.result4);
}
}
public void getIntentData(){
Intent intent = getIntent();
selectresult = intent.getIntExtra("Flag" , -1);
}
}
m1~m10사이의 소스중에서 1개만 보이면
package com.game.main_sub;
import com.game.test.*;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class m3 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main3);
findViewById(R.id.Button09).setOnClickListener(mClickListener);
findViewById(R.id.Button10).setOnClickListener(mClickListener);
findViewById(R.id.Button11).setOnClickListener(mClickListener);
findViewById(R.id.Button12).setOnClickListener(mClickListener);
findViewById(R.id.home).setOnClickListener(mClickListener);
}
Button.OnClickListener mClickListener = new Button.OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.Button09:
CalActivity.selectnum1();
startActivity(new Intent(m3.this, m4.class));
break;
case R.id.Button10:
CalActivity.selectnum2();
startActivity(new Intent(m3.this, m4.class));
//overridePendingTransition(R.anim.fade, R.anim.hold);
break;
case R.id.Button11:
CalActivity.selectnum3();
startActivity(new Intent(m3.this, m4.class));
//overridePendingTransition(R.anim.fade, R.anim.hold);
break;
case R.id.Button12:
CalActivity.selectnum4();
startActivity(new Intent(m3.this, m4.class));
//overridePendingTransition(R.anim.fade, R.anim.hold);
break;
case R.id.home:
startActivity(new Intent(m3.this, TestActivity.class));
break;
}
}
};
}
좀 도와주세요!!! 그리고 홈으로와서 핸드폰 뒤로가기버튼 누르면 끝나게 하는방법도 가르쳐주시면 감사하겠습니다!!