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

下面是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.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 {
    ....
}