Я начинающий программист. Попытка создать игру Dreidel с участием до десяти игроков.
У меня есть поле editText, созданное в XML-файле, и событие onClickListener для него. У меня также есть событие onClickListener для Spin Button.
Мой предыдущий код позволил бы мне вращать кнопку и отображать события в соответствующих текстовых окнах,
однако, когда я добавил новый код, оценка отображается в editText, а не в обычном текстовом поле.
Я скопирую оба кода. Для меня идея состоит в том, чтобы ввести количество игроков в поле EditText и отобразить счет в поле textView.
Вот старый код, который успешно отображал оценки в текстовых окнах (в дополнение к тому, что символ был закручен)
пакет com.dreidelproject;
import java.util.Random;
import android.app.Activity;
import android.os.Bundle;
import android.app.*;
import android.widget.*;
import android.view.*;
public class MainActivity extends Activity {
// Variables
private TextView widget34, textView1;
private Button widget32;
private ImageView widget33;
double playerScore = 15;
double moneyPot = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//GUI created from main.xml
setContentView(R.layout.main);
//sets variables to objects in xml file
this.widget34 = (TextView) findViewById(R.id.widget34);
this.textView1 = (TextView) findViewById(R.id.textView1);
this.widget33 = (ImageView) findViewById(R.id.widget33);
this.widget32 = (Button) findViewById(R.id.widget32);
// OnClickListener Event for Spin Button
this.widget32.setOnClickListener(new View.OnClickListener() {
public void onClick(View target) {
Random numGen = new Random();
int rNumber = numGen.nextInt(4);
if (rNumber == 0)
{
widget34.setText("You get nothing");
widget33.setImageResource(R.drawable.gimel);
textView1.setText("" + playerScore);
}
else if (rNumber == 1)
{
widget34.setText("You get half!");
widget33.setImageResource(R.drawable.hey);
playerScore = (.5 * moneyPot) + (playerScore);
textView1.setText("" + playerScore);
}
else if (rNumber == 2)
{
widget34.setText("You get it all");
widget33.setImageResource(R.drawable.nun);
playerScore = moneyPot + playerScore;
textView1.setText("" + playerScore);
}
else if (rNumber == 3)
{
widget34.setText("Chip in a coin");
widget33.setImageResource(R.drawable.hebreww);
moneyPot++;
playerScore--;
textView1.setText("" + playerScore);
}
}
});
}}
Ниже приведен новый код, и ни одно из полей textView не работает, а счет отображается в editTextBox.
package com.dreidelproject;
import java.util.Iterator;
import java.util.Random;
import android.app.Activity;
import android.os.Bundle;
import android.app.*;
import android.widget.*;
import android.view.*;
import java.util.Scanner;
public class MainActivity extends Activity {
// Variables
private TextView widget34, textView1, editText1;
private Button widget32;
private ImageView widget33;
double playerScore = 15;
double moneyPot = 0;
int playerCount = 1;
Iterator<String> playerAmountScan = new Scanner(System.in);
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//GUI created from main.xml
setContentView(R.layout.main);
//sets variables to objects in xml file
this.widget34 = (TextView) findViewById(R.id.widget34);
this.textView1 = (TextView) findViewById(R.id.textView1);
this.widget33 = (ImageView) findViewById(R.id.widget33);
this.widget32 = (Button) findViewById(R.id.widget32);
this.editText1 = (TextView)findViewById(R.id.editText1);
// OnClickListener Event for Spin Button
this.widget32.setOnClickListener(new View.OnClickListener() {
public void onClick(View target) {
Random numGen = new Random();
int rNumber = numGen.nextInt(4);
playerCount++;
while (playerCount == 11)
playerCount = 0;
if (rNumber == 0)
{
widget34.setText("You get nothing");
widget33.setImageResource(R.drawable.gimel);
textView1.setText("" + playerScore);
}
else if (rNumber == 1)
{
widget34.setText("You get half!");
widget33.setImageResource(R.drawable.hey);
playerScore = (.5 * moneyPot) + (playerScore);
textView1.setText("" + playerScore);
}
else if (rNumber == 2)
{
widget34.setText("You get it all");
widget33.setImageResource(R.drawable.nun);
playerScore = moneyPot + playerScore;
textView1.setText("" + playerScore);
}
else if (rNumber == 3)
{
widget34.setText("Chip in a coin");
widget33.setImageResource(R.drawable.hebreww);
moneyPot++;
playerScore--;
textView1.setText("" + playerScore);
}
}
});
// OnClickListener Event for Player Amount
this.editText1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
{
playerAmountScan.next();
editText1.equals(playerAmountScan);
editText1.setText((CharSequence) playerAmountScan);
}
}
});
}
}