Android Eclipse应用程序删除按钮并自动执行过程
你好,我有一个adroid应用程序的以下代码 在text3 et3上,当我们按下按钮时,它会在text3字段上返回一个结果。它就像一个计算器 我想删除按钮,这样程序就可以一直运行,而无需按下按钮Android Eclipse应用程序删除按钮并自动执行过程,android,eclipse,Android,Eclipse,你好,我有一个adroid应用程序的以下代码 在text3 et3上,当我们按下按钮时,它会在text3字段上返回一个结果。它就像一个计算器 我想删除按钮,这样程序就可以一直运行,而无需按下按钮 enter code here package com.example.b15_calc; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View
enter code here
package com.example.b15_calc;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
EditText et1, et2, et3, et4;
Button b1, b2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1 = (EditText) findViewById(R.id.editText1);
et2 = (EditText) findViewById(R.id.editText2);
et3 = (EditText) findViewById(R.id.editText3);
et4 = (EditText) findViewById(R.id.editText4);
b1 = (Button) findViewById(R.id.button1);
b2 = (Button) findViewById(R.id.button2);
//step3 : write add functionality.
b2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
et1.setText("");
et2.setText("");
et3.setText("");
et4.setText("");
}
});
//step3 : ΜΕΤΑΒΛΗΤΕΣ
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String f = et1.getText().toString();
double i = Double.parseDouble(f);
String s = et2.getText().toString();
double j = Double.parseDouble(s);
String w = et4.getText().toString();
double q = Double.parseDouble(w);
double price_gold = 10;
double fpa = 1.23;
double fpol = 0.10;
double fpolam = 999;
double isot = 100;
double sint_ker = 10;
double result1 = (i * price_gold) + (j * 1000) + (q * isot);
double result2 = result1 / 340.75;
int gap;
if (result2 >= fpolam){
double result = (result2 * fpol);
double result3 = ((result2 * sint_ker) * fpa) + result;
if(result3 < 1000)
{
gap = 10;
}
else if(result3 < 5000)
{
gap = 50;
}
else //5000+
{
gap = 100;
}
int total = (int) Math.ceil(result3 / gap) * gap;
String res = String.valueOf(total);
et3.setText(res);
} else{
double result3 = ((result2 * sint_ker) * fpa);
if(result3 < 1000)
{
gap = 10;
}
else if(result3 < 5000)
{
gap = 50;
}
else //5000+
{
gap = 100;
}
int total = (int) Math.ceil(result3 / gap) * gap;
String res = String.valueOf(total);
et3.setText(res);
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
一种解决方案是通过编程调用按钮
view.performClick()
或者,当您在编辑字段用户TextWatcher中输入任何内容时,如果希望继续计算
对不起,我现在就更改它。您到底想做什么?要删除按钮并在不按按钮的情况下显示结果,您想在哪种情况下显示结果?比如何时停止编辑上次编辑的文本字段?我必须在其中插入view.performClick
yourView.addTextChangedListener (new TextWatcher () {
@Override
public void onTextChanged (CharSequence arg0, int arg1, int arg2, int arg3) {
}
@Override
public void beforeTextChanged (CharSequence arg0, int arg1, int arg2, int arg3) {
}
@Override
public void afterTextChanged (Editable val) {
//fire your calculation method
}
});