Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7825447
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 2, 20262026-06-02T08:59:01+00:00 2026-06-02T08:59:01+00:00

Hello i build a small app using Android, in this app i built two

  • 0

Hello i build a small app using Android, in this app i built two activity and now when i click on my button(name of button New Game) of first activity to switch on second activity, it do nothing, but when i click on this button again it changes the activity. I want this in one click here i am posting code of my both activity please help me.
Thanks in advance
source code of first activity

public class TTTActivity extends Activity implements OnClickListener {
public int result;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    View newButton = findViewById(R.id.new_button);
    newButton.setOnClickListener(this);        

    View exitButton = findViewById(R.id.exit_button);
    exitButton.setOnClickListener(this);

}
private void quitApplication()
{
    finish();
}
private void startGame(){
    startActivity(new Intent(this, Game.class));
}


@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()) {
    case R.id.new_button:
        //startNewGameConfirm();
        startGame();
        break;
    case R.id.exit_button:
        quitApplication();
        break;

    }

}

}

Source code of game activity

public class Game extends Activity {
private final int GAME_VICTORY = 0x1;
private final int GAME_DEFEAT = 0x2;
private final int GAME_TIE = 0x3;
private final int GAME_CONTINUES = 0x4;
private final float UNIQUE_MAX_WEIGHT=0.85f;
static final int ACTIVITY_SELECTION = 1;

private float[] w;  
private int[] c;        
private int[][] PosTable;   
private Button[] buttons;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.game);

    buttons = new Button[9];

    buttons[0] = (Button) findViewById(R.id.Button01);
    buttons[0].setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            btnClicked(0);
        }
    });
    buttons[1] = (Button) findViewById(R.id.Button02);
    buttons[1].setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            btnClicked(1);
        }
    });
    buttons[2] = (Button) findViewById(R.id.Button03);
    buttons[2].setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            btnClicked(2);
        }
    });
    buttons[3] = (Button) findViewById(R.id.Button04);
    buttons[3].setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            btnClicked(3);
        }
    });
    buttons[4] = (Button) findViewById(R.id.Button05);
    buttons[4].setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            btnClicked(4);
        }
    });
    buttons[5] = (Button) findViewById(R.id.Button06);
    buttons[5].setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            btnClicked(5);
        }

    });
    buttons[6] = (Button) findViewById(R.id.Button07);
    buttons[6].setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            btnClicked(6);
        }
    });
    buttons[7] = (Button) findViewById(R.id.Button08);
    buttons[7].setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            btnClicked(7);
        }
    });
    buttons[8] = (Button) findViewById(R.id.Button09);
    buttons[8].setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            btnClicked(8);
        }
    });

    Button button = (Button) findViewById(R.id.Button10);
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            buttonsEnable(true);
           beginPlay();
        }
    });

  startActivityForResult(new Intent(Game.this, TTTActivity.class), ACTIVITY_SELECTION);


    DisplayMetrics dm = getApplicationContext().getResources().getDisplayMetrics();
    float h = (float) (dm.heightPixels - (100.0)*dm.density);
    float w = dm.widthPixels;
    for(int i=0;i<9;i++) {
        buttons[i].setHeight((int) (h/3));
        buttons[i].setWidth((int) (w/3));
    }
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    beginPlay();
    if (requestCode == ACTIVITY_SELECTION) {
        if (resultCode == RESULT_OK) {
            Bundle extras = data.getExtras();
            if (extras.getString("result").equals("CPU")) cpuPlay();
        }
    }
}
private void beginPlay() {
    //initializations start 
    w=new float[9];
    c=new int[9];
    InitTable();
    w[0]=0.7f;
    w[1]=0.4f;
    w[2]=0.7f;
    w[3]=0.4f;
    w[4]=0.7f;
    w[5]=0.4f;
    w[6]=0.7f;
    w[7]=0.4f;
    w[8]=0.7f;
    //c[i] : 0 for empty, 1 for cpu, 2 for user
    for(int i=0;i<9;i++)
        c[i]=0;
    //initializations done

    //now we play!
    for(int i=0;i<9;i++)
        updateBtn(i);
}

private void cpuPlay() {
    //computer plays first
    int cpos=getDecision();
    if (cpos == -1) {
        Toast toast = Toast.makeText(getApplicationContext(), "GAME OVER", Toast.LENGTH_SHORT);
        toast.show();
        return;
    }
    c[cpos]=1;
    updateBtn(cpos);
    int gstatus = CheckGameStatus();
    if (gstatus == GAME_VICTORY) {
        Toast toast = Toast.makeText(getApplicationContext(), "Congrts You Won", Toast.LENGTH_SHORT);
        toast.show();
    }
    else if (gstatus == GAME_DEFEAT) {
        Toast toast = Toast.makeText(getApplicationContext(), "Sorry, You Lost", Toast.LENGTH_SHORT);
        toast.show();
    }
    else if (gstatus == GAME_TIE) {
        Toast toast = Toast.makeText(getApplicationContext(), "Its a TIE, press reset to play again", Toast.LENGTH_SHORT);
        toast.show();
    }
    else if (gstatus == GAME_CONTINUES) {
        //user plays
    }
}
private void updateBtn(int i) {
    if(c[i]==0)
        buttons[i].setText(" ");
    else if(c[i]==1)
        buttons[i].setText("O");
    else
        buttons[i].setText("X");
}
private int CheckGameStatus() {
    int s = 0;
    //check horizontal
    if(c[0]==2&&c[1]==2&&c[2]==2) {s = GAME_VICTORY;}
    if(c[3]==2&&c[4]==2&&c[5]==2) {s = GAME_VICTORY;}
    if(c[6]==2&&c[7]==2&&c[8]==2) {s = GAME_VICTORY;}
    if(c[0]==1&&c[1]==1&&c[2]==1) {s = GAME_DEFEAT;}
    if(c[3]==1&&c[4]==1&&c[5]==1) {s = GAME_DEFEAT;}
    if(c[6]==1&&c[7]==1&&c[8]==1) {s = GAME_DEFEAT;}
    //check vertical
    if(c[0]==2&&c[3]==2&&c[6]==2) {s = GAME_VICTORY;}
    if(c[1]==2&&c[4]==2&&c[7]==2) {s = GAME_VICTORY;}
    if(c[2]==2&&c[5]==2&&c[8]==2) {s = GAME_VICTORY;}
    if(c[0]==1&&c[3]==1&&c[6]==1) {s = GAME_DEFEAT;}
    if(c[1]==1&&c[4]==1&&c[7]==1) {s = GAME_DEFEAT;}
    if(c[2]==1&&c[5]==1&&c[8]==1) {s = GAME_DEFEAT;}
    //check diagonal
    if(c[0]==2&&c[4]==2&&c[8]==2) {s = GAME_VICTORY;}
    if(c[2]==2&&c[4]==2&&c[6]==2) {s = GAME_VICTORY;}
    if(c[0]==1&&c[4]==1&&c[8]==1) {s = GAME_DEFEAT;}
    if(c[2]==1&&c[4]==1&&c[6]==1) {s = GAME_DEFEAT;}

    if (s != 0) {
        buttonsEnable(false);
        return s;
    }

    boolean box_empty = false;
    for(int i=0;i<9;i++) {
        if (c[i] == 0) box_empty = true;
    }
    if (box_empty) {    //if any box is empty -> game continues
        return GAME_CONTINUES;
    }
    else {  //else there is tie
        buttonsEnable(false);
        return GAME_TIE;
    }
}

private void buttonsEnable(boolean b) {
    for(int i=0;i<9;i++)
        buttons[i].setEnabled(b);
}

private void btnClicked(int i) {
    if(c[i]!=0) {
        Toast toast = Toast.makeText(getApplicationContext(), "Position occupied", Toast.LENGTH_SHORT);
        toast.show();
    }
    else {
        //all OK
        c[i] = 2;
        updateBtn(i);
        int gstatus = CheckGameStatus();
        if (gstatus == GAME_VICTORY) {
            Toast toast = Toast.makeText(getApplicationContext(), "Congrats You Won", Toast.LENGTH_SHORT);
            toast.show();
        }
        else if (gstatus == GAME_DEFEAT) {
            Toast toast = Toast.makeText(getApplicationContext(), "Sorry, You Lost", Toast.LENGTH_SHORT);
            toast.show();
        }
        else if (gstatus == GAME_TIE) {
            Toast toast = Toast.makeText(getApplicationContext(), "Its a TIE, press reset to play again", Toast.LENGTH_SHORT);
            toast.show();
        }
        else if (gstatus == GAME_CONTINUES) {
            cpuPlay();
        }
    }
}

private int getDecision() {
    for(int i=0;i<9;i++)
        for(int j=0;j<9;j++) {
            if(c[i]==1&&c[j]==1)    //place 'o' to win
                if(PosTable[i][j]!=-1)  //if we have 3 in a row
                    if(c[PosTable[i][j]]==0)    //if position is free
                        return PosTable[i][j];
            if(c[i]==2&&c[j]==2)    //place 'o' to prevent user's victory
                if(PosTable[i][j]!=-1)  //if we have 3 in a row
                    if(c[PosTable[i][j]]==0)    //if position is free
                        return PosTable[i][j];
        }

    if(c[0]==1&&c[8]==0) return 8;
    if(c[2]==1&&c[6]==0) return 6;
    if(c[8]==1&&c[0]==0) return 0;
    if(c[6]==1&&c[2]==0) return 2;
    Random r=new Random();
    boolean exist07=false;
    boolean[] free=new boolean[9]; //will hold the free positions
    for(int i=0;i<9;i++)
        free[i]=false;
    for(int i=0;i<9;i++)
        if(c[i]==0) {   //free ??
            free[i]=true;   //add position to free
            if(w[i]==UNIQUE_MAX_WEIGHT) return i;
        }
    //more than 1 positions with same weight
    for(int i=0;i<9;i++)
        if(free[i]) //if position is free
            if(w[i]==0.7f) exist07=true;
    if(exist07)
        for(int i=0;i<9;i++)
            if(free[i]) //if position is free
                if(w[i]==0.4f) free[i]=false;

    int j=0;
    int rn=0;
    int[] tmp;
    for(int i=0;i<9;i++)
        if(free[i]) j++;
    if(j!=0) {
        tmp=new int[j];
        rn=r.nextInt(j);
        j=0;
        for(int i=0;i<9;i++)
            if(free[i]) tmp[j++]=i;
        return tmp[rn];
    }
    else {
        return -1; //else GAME OVER
    }
}
private void InitTable() {

    PosTable=new int[9][9];
    for(int i=0;i<9;i++)
        for(int j=0;j<9;j++)
            PosTable[i][j]=-1;
    PosTable[0][1]=2;
    PosTable[0][2]=1;
    PosTable[0][3]=6;
    PosTable[0][4]=8;
    PosTable[0][6]=3;
    PosTable[0][8]=4;
    PosTable[1][2]=0;
    PosTable[1][4]=7;
    PosTable[1][7]=4;
    PosTable[2][4]=6;
    PosTable[2][5]=8;
    PosTable[2][6]=4;
    PosTable[2][8]=5;
    PosTable[3][4]=5;
    PosTable[3][5]=4;
    PosTable[3][6]=0;
    PosTable[4][5]=3;
    PosTable[4][6]=2;
    PosTable[4][7]=1;
    PosTable[4][8]=0;
    PosTable[5][8]=2;
    PosTable[6][7]=8;
    PosTable[6][8]=7;
    PosTable[7][8]=6;

}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-02T08:59:06+00:00Added an answer on June 2, 2026 at 8:59 am

    use this in your Game.java

    startActivityForResult(new Intent(Game.this, Game.class), ACTIVITY_SELECTION);

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I wrote this small C++ program and built it(Release) #include<iostream> int main(){ std::cout<<Hello World;
Hello I'd like to build a Rails Brick using a Sheevaplug from Marvell (O.S.
Please help me with using the DrScheme built-in function filter. create a function hello
This is my first Class Hello.java public class Hello { String name = ;
Hello dearest community, I am trying to build a simple AutoUpdate application using VB.NET.
I'm trying to build a hello world using GTK, which includes the line: #include
I am following the steps on http://developer.android.com/sdk/ndk/overview.html to build the hello-jni sample, however when
I am very new to assembly, and I'm trying to build a small program.
I'm trying to build Hello, Android with the Android SDK, but Android won't say
Hello Im using SQL2000 so I build a Dynamic Query and in the last

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.