Java 数量增减延迟
下面是FieldActivity.java代码。Java 数量增减延迟,java,android,Java,Android,下面是FieldActivity.java代码。 我正在学习制作简单的骰子应用程序。 问题是当我将“Highorlow”EditText设置为100或0时 交替按高或低按钮,更新延迟。事情是这样的: High 0.1 - High - 0.2 - High 0.3 - Low 0.4 - Low 0.3 - High - 0.2 - High 0.3. 原因是什么?我该如何解决?谢谢 import android.os.Bundle; import android.support.v7.app
我正在学习制作简单的骰子应用程序。
问题是当我将“Highorlow”EditText设置为100或0时
交替按高或低按钮,更新延迟。事情是这样的:
High 0.1 - High - 0.2 - High 0.3 - Low 0.4 - Low 0.3 - High - 0.2 - High 0.3.
原因是什么?我该如何解决?谢谢
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import java.text.DecimalFormat;
import android.widget.Toast;
public class FieldActivity extends AppCompatActivity {
SharedPreferences mySharedPreferences;
Button Highbtn, Lowbtn;
EditText BetAmount, Highorlow;
TextView Balance;
private static DecimalFormat df1 = new DecimalFormat("0.##");
private static DecimalFormat df2 = new DecimalFormat("0.#");
public double betamount1 = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
mySharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_field);
Highbtn = (Button) findViewById(R.id.Highbtn);
Lowbtn = (Button) findViewById(R.id.LowBtn);
BetAmount = (EditText) findViewById(R.id.BetAmount);
Highorlow = (EditText) findViewById(R.id.Highorlow);
Balance = (TextView) findViewById(R.id.Balance);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Highbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
double multiplier = Double.valueOf(Highorlow.getText().toString());
try {
multiplier = Double.valueOf(Highorlow.getText().toString());
} catch (NumberFormatException e) {
e.printStackTrace();
}
String userData = Balance.getText().toString();
float balance1 = mySharedPreferences.getFloat("FLOAT_KEY1", Float.parseFloat(userData));
if (balance1 >= betamount1) {
SharedPreferences.Editor editor = mySharedPreferences.edit();
double number = Math.random() * 100;
TextView Number = (TextView) findViewById(R.id.Number);
String Number1 = df1.format(number);
String Balance1 = df2.format(balance1);
if (multiplier < number) {
balance1 += 0.1;
editor.putFloat("FLOAT_KEY1", balance1);
editor.apply();
Balance.setText(Balance1);
Balance.setText(String.format("%f", balance1));
Number.setText(Number1);
} if(multiplier > number) {
balance1 -= 0.1;
editor.putFloat("FLOAT_KEY1", balance1);
editor.apply();
Balance.setText(String.format("%f", balance1));
Balance.setText(Balance1);
Number.setText(Number1);
}
}
if (balance1 <= 0.00000000) {
balance1 += 1;
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putFloat("FLOAT_KEY1", balance1);
editor.apply();
Balance.setText(String.format("%f", balance1));
String Balance1 = df2.format(balance1);
Balance.setText(Balance1);
}
if (balance1 < betamount1) {
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putFloat("FLOAT_KEY1", balance1);
editor.apply();
Toast.makeText(getApplicationContext(), "Insufficient Funds", Toast.LENGTH_LONG).show();
}
}
});
Lowbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
float betamount1 = 0;
float multiplier = Float.valueOf(Highorlow.getText().toString());;
try{
multiplier = Float.valueOf(Highorlow.getText().toString());
} catch (NumberFormatException e) {
e.printStackTrace();
}
String userData = Balance.getText().toString();
float balance1 = mySharedPreferences.getFloat("FLOAT_KEY1", Float.parseFloat(userData));
if (balance1 >= betamount1) {
SharedPreferences.Editor editor = mySharedPreferences.edit();
double number = Math.random() * 100;
TextView Number = (TextView) findViewById(R.id.Number);
String Number1 = df1.format(number);
String Balance1 = df2.format(balance1);
if(multiplier > number){
balance1 += 0.1;
editor.putFloat("FLOAT_KEY1", balance1);
editor.apply();
Balance.setText(String.format("%f", balance1));
Balance.setText(Balance1);
Number.setText(Number1);
}
if(multiplier < number){
balance1 -= 0.1;
editor.putFloat("FLOAT_KEY1", balance1);
editor.apply();
Balance.setText(String.format("%f", balance1));
Balance.setText(Balance1);
Number.setText(Number1);
}
}
if (balance1 <= 0.00000000) {
balance1 += 1.00000000;
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putFloat("FLOAT_KEY1", balance1);
editor.apply();
Balance.setText(String.format("%f", balance1));
String Balance1 = df2.format(balance1);
Balance.setText(Balance1);
}
if (balance1 < betamount1) {
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putFloat("FLOAT_KEY1", balance1);
editor.apply();
Toast.makeText(getApplicationContext(), "Insufficient Fund", Toast.LENGTH_LONG).show();
}
}
});
}
}
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
导入android.content.SharedReferences;
导入android.preference.PreferenceManager;
导入java.text.DecimalFormat;
导入android.widget.Toast;
公共类FieldActivity扩展了AppCompatActivity{
SharedReferences mySharedPreferences;
按钮高BTN,低BTN;
编辑文本数量,高或低;
文本视图平衡;
私有静态DecimalFormat df1=新的DecimalFormat(“0.###”);
私有静态DecimalFormat df2=新的DecimalFormat(“0.#”);
公共双betamount1=0;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
mySharedPreferences=PreferenceManager.getDefaultSharedPreferences(此选项);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_字段);
Highbtn=(按钮)findViewById(R.id.Highbtn);
Lowbtn=(按钮)findviewbyd(R.id.Lowbtn);
BetAmount=(EditText)findViewById(R.id.BetAmount);
Highorlow=(EditText)findViewById(R.id.Highorlow);
余额=(TextView)findViewById(R.id.Balance);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
Highbtn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
double乘数=double.valueOf(Highorlow.getText().toString());
试一试{
乘数=Double.valueOf(Highorlow.getText().toString());
}捕获(数字格式){
e、 printStackTrace();
}
字符串userData=Balance.getText().toString();
float balance1=mySharedPreferences.getFloat(“float_KEY1”,float.parseFloat(userData));
如果(余额1>=betamount1){
SharedReferences.Editor=mySharedPreferences.edit();
双倍数=数学随机数()*100;
TextView编号=(TextView)findViewById(R.id.Number);
字符串Number1=df1.格式(数字);
字符串Balance1=df2.format(Balance1);
if(乘数<数字){
余额1+=0.1;
编辑器.putFloat(“FLOAT_键1”,balance1);
editor.apply();
Balance.setText(Balance1);
Balance.setText(String.format(“%f”,balance1));
Number.setText(Number1);
}如果(乘数>数字){
余额1-=0.1;
编辑器.putFloat(“FLOAT_键1”,balance1);
editor.apply();
Balance.setText(String.format(“%f”,balance1));
Balance.setText(Balance1);
Number.setText(Number1);
}
}
如果(余额1=betamount1){
SharedReferences.Editor=mySharedPreferences.edit();
双倍数=数学随机数()*100;
TextView编号=(TextView)findViewById(R.id.Number);
字符串Number1=df1.格式(数字);
字符串Balance1=df2.format(Balance1);
如果(乘数>数字){
余额1+=0.1;
编辑器.putFloat(“FLOAT_键1”,balance1);
editor.apply();
Balance.setText(String.format(“%f”,balance1));
Balance.setText(Balance1);
Number.setText(Number1);
}
if(乘数<数字){
余额1-=0.1;
编辑器.putFloat(“FLOAT_键1”,balance1);
editor.apply();
Balance.setText(String.format(“%f”,balance1));
Balance.setText(Balance1);
Number.setText(Number1);
}
}
如果(平衡1而不是使用:
if (balance1 >= betamount1) {
....
}
if (balance1 <= 0.00000000) {
....
}
if (balance1 < betamount1) {
....
}
if(余额1>=betamount1){
....
}
如果(余额1=betamount1){
....
}否则如果(balance1)我刚醒来,我现在就试试这个。谢谢!删除Balance.setText(balance1);
这一行和你的方法确实有效!非常感谢。我认为覆盖TextView是个问题。因为它可以同时满足servel条件。
if (balance1 >= betamount1) {
....
} else if (balance1 <= 0.00000000) {
....
} else {
....
}