从未使用过方法 "exampleMethod"
Method "exampleMethod" is never used
我正在 android 工作室编写一个石头剪刀布程序,这是我目前所拥有的:(所有必要的东西都已导入)
Random compans = new Random();
int low = 1;
int high = 3;
int RPS = compans.nextInt(high-low) + low;
public void rock (View view) {
Button Rock = (Button) findViewById(R.id.rock);
Rock.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
/* all capitals = user answer */
if (RPS == 1) {
startActivity(new Intent(MainActivity.this,Tie.class));
//ROCK-rock tie
}
else if (RPS == 2) {
//ROCK-paper lose
startActivity(new Intent(MainActivity.this,Lose.class));
}
else if (RPS == 3) {
//ROCK-scissors win
startActivity(new Intent(MainActivity.this,Win.class));
}
}
});
}
public void paper (View view) {
Button paper = (Button) findViewById(R.id.paper);
paper.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (RPS == 1) {
//PAPER-rock win
startActivity(new Intent(MainActivity.this,Win.class));
} else if (RPS == 2) {
//PAPER-paper tie
startActivity(new Intent(MainActivity.this,Tie.class));
} else if (RPS == 3) {
//PAPER-scissors lose
startActivity(new Intent(MainActivity.this,Lose.class));
}
}
});
}
public void scissors (View v) {
Button scissors = (Button) findViewById(R.id.scissors);
scissors.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (RPS == 1) {
//SCISSORS-rock lose
startActivity(new Intent(MainActivity.this, Lose.class));
} else if (RPS == 2) {
//SCISSORS-paper win
startActivity(new Intent(MainActivity.this, Win.class));
} else if (RPS == 3) {
//SCISSORS-scissors tie
startActivity(new Intent(MainActivity.this, Tie.class));
}
}
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}}
完成后,我注意到使用了 "rock" "paper" 或 "scissor" 方法中的 none。当我 运行 它在我的 phone 上时,我的按钮没有做任何事情,模拟器也是如此。
The message I get(没有足够的代表上传)
消息的解释和解决方案会很好,因为我仍然是初学者。任何帮助将不胜感激,谢谢!
该消息的意思是:您在运行程序时没有调用任何这些方法。
天真的解决方案:将 3 个方法的所有内容:rock,... 移动到 onCreate()
:
onCreate(...){
...
setContentView(...);
//----Example for rock button
Button Rock = (Button) findViewById(R.id.rock);
Rock.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
/* all capitals = user answer */
if (RPS == 1) {
startActivity(new Intent(MainActivity.this,Tie.class));
//ROCK-rock tie
}
else if (RPS == 2) {
//ROCK-paper lose
startActivity(new Intent(MainActivity.this,Lose.class));
}
else if (RPS == 3) {
//ROCK-scissors win
startActivity(new Intent(MainActivity.this,Win.class));
}
}
});
}
//Do the same for other buttons here
}//end of onCreate
IDE 告诉你那些方法没有被调用。
您没有 post onCreate 内容,您可能希望将 button.setOnClick.. 移动到 onCreate 中。
附带说明一下,您可以在布局文件上执行此操作,而不是像那样连接 onclick。例如
<Button
android:id="@+id/rock"
android:onclick="rock"
android:text="Rock" />
在这里,当单击摇滚按钮时,它会调用 activity 中的 "rock" 按钮。
我正在 android 工作室编写一个石头剪刀布程序,这是我目前所拥有的:(所有必要的东西都已导入)
Random compans = new Random();
int low = 1;
int high = 3;
int RPS = compans.nextInt(high-low) + low;
public void rock (View view) {
Button Rock = (Button) findViewById(R.id.rock);
Rock.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
/* all capitals = user answer */
if (RPS == 1) {
startActivity(new Intent(MainActivity.this,Tie.class));
//ROCK-rock tie
}
else if (RPS == 2) {
//ROCK-paper lose
startActivity(new Intent(MainActivity.this,Lose.class));
}
else if (RPS == 3) {
//ROCK-scissors win
startActivity(new Intent(MainActivity.this,Win.class));
}
}
});
}
public void paper (View view) {
Button paper = (Button) findViewById(R.id.paper);
paper.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (RPS == 1) {
//PAPER-rock win
startActivity(new Intent(MainActivity.this,Win.class));
} else if (RPS == 2) {
//PAPER-paper tie
startActivity(new Intent(MainActivity.this,Tie.class));
} else if (RPS == 3) {
//PAPER-scissors lose
startActivity(new Intent(MainActivity.this,Lose.class));
}
}
});
}
public void scissors (View v) {
Button scissors = (Button) findViewById(R.id.scissors);
scissors.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (RPS == 1) {
//SCISSORS-rock lose
startActivity(new Intent(MainActivity.this, Lose.class));
} else if (RPS == 2) {
//SCISSORS-paper win
startActivity(new Intent(MainActivity.this, Win.class));
} else if (RPS == 3) {
//SCISSORS-scissors tie
startActivity(new Intent(MainActivity.this, Tie.class));
}
}
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}}
完成后,我注意到使用了 "rock" "paper" 或 "scissor" 方法中的 none。当我 运行 它在我的 phone 上时,我的按钮没有做任何事情,模拟器也是如此。
The message I get(没有足够的代表上传)
消息的解释和解决方案会很好,因为我仍然是初学者。任何帮助将不胜感激,谢谢!
该消息的意思是:您在运行程序时没有调用任何这些方法。
天真的解决方案:将 3 个方法的所有内容:rock,... 移动到 onCreate()
:
onCreate(...){
...
setContentView(...);
//----Example for rock button
Button Rock = (Button) findViewById(R.id.rock);
Rock.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
/* all capitals = user answer */
if (RPS == 1) {
startActivity(new Intent(MainActivity.this,Tie.class));
//ROCK-rock tie
}
else if (RPS == 2) {
//ROCK-paper lose
startActivity(new Intent(MainActivity.this,Lose.class));
}
else if (RPS == 3) {
//ROCK-scissors win
startActivity(new Intent(MainActivity.this,Win.class));
}
}
});
}
//Do the same for other buttons here
}//end of onCreate
IDE 告诉你那些方法没有被调用。 您没有 post onCreate 内容,您可能希望将 button.setOnClick.. 移动到 onCreate 中。
附带说明一下,您可以在布局文件上执行此操作,而不是像那样连接 onclick。例如
<Button
android:id="@+id/rock"
android:onclick="rock"
android:text="Rock" />
在这里,当单击摇滚按钮时,它会调用 activity 中的 "rock" 按钮。