심리테스트를 만드는 초짜입니다.

 

다 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;
   }
  }
 };
}

좀 도와주세요!!! 그리고 홈으로와서 핸드폰 뒤로가기버튼 누르면 끝나게 하는방법도 가르쳐주시면 감사하겠습니다!!