심리테스트를 만들고있습니다.
1번이 가장많으면 a라는 결과값을
2번이 가장많으면 b라는 결과값을
3번이 가장많으면 c라는 결과값을
4번이 가장많으면 d라는 결과값을
띄우는 마지막단계인 결과값 반환만 남았습니다.
test라는 프로젝트에
come.game.main_sub
m1~m10이 있고 Test2~Test8까지 가 있습니다
come.game.test에는
CalActivity, ResultActivity, TestActivity가 있고요
처음에 TestActivity로 부터 시작을 합니다.
계산하는 부분인 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;
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);
}
public static CalActivity getApplication() {
// TODO Auto-generated method stub
return null;
}
}
ResultActivity는 결과를 출력하는부분으로
package com.game.test;
import android.app.Activity;
import android.content.*;
import android.os.Bundle;
public class ResultActivity extends Activity{
private static int selectresult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getIntentData();
}
public void getIntentData(){
Intent intent = getIntent();
selectresult = intent.getIntExtra("Flag" , -1);
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);
}
}
}
그리고 m1~m10사이의 부분적인 소스는
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 m2 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
findViewById(R.id.Button05).setOnClickListener(mClickListener);
findViewById(R.id.Button06).setOnClickListener(mClickListener);
findViewById(R.id.Button07).setOnClickListener(mClickListener);
findViewById(R.id.Button08).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.Button05:
CalActivity.selectnum1();
startActivity(new Intent(m2.this, m3.class));
break;
case R.id.Button06:
CalActivity.selectnum2();
startActivity(new Intent(m2.this, m3.class));
//overridePendingTransition(R.anim.fade, R.anim.hold);
break;
case R.id.Button07:
CalActivity.selectnum3();
startActivity(new Intent(m2.this, m3.class));
//overridePendingTransition(R.anim.fade, R.anim.hold);
break;
case R.id.Button08:
CalActivity.selectnum4();
startActivity(new Intent(m2.this, m3.class));
//overridePendingTransition(R.anim.fade, R.anim.hold);
break;
case R.id.home:
startActivity(new Intent(m2.this, TestActivity.class));
break;
}
}
};
}
입니다 근데 마지막 보기를 선택하고 결과값을 띄울려고 하는데
검은색 창이 뜨는게 값이 잘 전달된거 같지 않습니다.
값이 왜 잘 전달이 안되는걸 까요?




public void compare()
이걸 어디서 호출하죠? 이걸 불러야 마지막이 나올텐데요.
그리고 결과값이 같은 공동1위 두개가 있으면 오류가 날 거 같은 비교구문이네요.