我对编程很新,我正在学习用Java开发和构建Android应用程序。
我正在尝试创建一个Dreidel游戏,在我的xml文件中,我有一个按钮,一个imageview和一个TextView(我将努力保持得分稍晚,我可以轻易地自己解决这个问题我想象的足够了。)
但目标是当我按下按钮时,随机数生成器会产生一个0-3的数字,
如果为0,我希望TextBox显示"你什么也得不到" 如果为1,我希望TextBox显示其他内容 如果是2,我希望TextBox显示其他内容 如果是3,我希望TextBox显示其他内容
这是代码。当我在Android模拟器中运行它时,它会启动,但是当我单击按钮
时没有任何反应package com.secondtry;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.Random;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
Button spinButton;
TextView display;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
display = (TextView) findViewById(R.id.widget34);
spinButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Random numGen = new Random();
numGen.nextInt(4);
if (numGen.nextInt() == 0)
{
display.setText("You get nothing");
}
else if (numGen.nextInt() == 1)
{
display.setText("You get half!");
}
else if (numGen.nextInt() == 2)
{
display.setText("You get it all");
}
else if (numGen.nextInt() == 3)
{
display.setText("Chip in a coin");
} }
});
}
}
答案 0 :(得分:0)
在您的情况下使用numGen.nextInt(4)而不是numGen.nextInt()。在变量(比如x)中抓取它的值,并在每种条件下使用该值。
答案 1 :(得分:0)
你可以试试这个:
int ran = numGen.nextInt(4);
switch (ran){
case 0:
display.setText("You get nothing");
break;
case 1:
display.setText("You get half!");
break;
case 2:
display.setText("You get it all");
break;
case 3:
display.setText("Chip in a coin");
break;
}
答案 2 :(得分:0)
你需要在onCreate中用
之类的东西定义你的按钮final Button spinButton = (Button) findViewById(R.id.spinbuttonIdInXML);
或者拉开onCreate外面的onClick:
@Override
public void onCreate(Bundle savedInstanceState) {
...
}
@Override
public void onClick(View v) {
...
}
答案 3 :(得分:0)
在OnCreate中定义你的按钮就像这样..
spinButton = (Button)findViewById(R.id.urbuttonid);
答案 4 :(得分:0)
更新试试这个
public class MainActivity extends Activity {
/** Called when the activity is first created. */
Button spinButton;
TextView display;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
spinButton = (Button)findViewById(R.id.ButtonId);
display = (TextView) findViewById(R.id.widget34);
spinButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Random numGen = new Random();
int rNumber = numGen.nextInt(4);
if (rNumber == 0)
{
display.setText("You get nothing");
}
else if (rNumber == 1)
{
display.setText("You get half!");
}
else if (rNumber == 2)
{
display.setText("You get it all");
}
else if (rNumber == 3)
{
display.setText("Chip in a coin");
} }
});
}
}