我使用Android Studio将pc java代码移动到android。 java代码执行一些数字计算例程,在基本计算机中,它可能需要几秒钟才能返回问题解决方案。 java代码非常漂亮。
单击按钮,例程开始。我想知道如何展示一个优雅的警报"在进行计算时进行测定。一种"请等待"在弹出窗口中。
我的基本代码:
static double h,w,l,t,Te;
static int ambiente;
private EditText numeroin;
//private TextView numeroout;
public void cliqueBotao(View view){
Intent intent = getIntent();
ambiente = intent.getIntExtra("ambiente_selec", 0);
numeroin=(EditText)findViewById(R.id.in_h);
h= Double.parseDouble(numeroin.getText().toString());
numeroin=(EditText)findViewById(R.id.in_w);
w= Double.parseDouble(numeroin.getText().toString());
numeroin=(EditText)findViewById(R.id.in_l);
l= Double.parseDouble(numeroin.getText().toString());
numeroin=(EditText)findViewById(R.id.in_t);
t= Double.parseDouble(numeroin.getText().toString());
numeroin=(EditText)findViewById(R.id.in_T);
Te= Double.parseDouble(numeroin.getText().toString());
(HERE STARTS THE NUMERICAL CALCULATIONS CODE)
/**AlertDialog msg;
msg=new AlertDialog.Builder(this).create();
msg.setMessage("Calculando");
msg.show();*/
}
顺便说一句,在按钮xml代码中,OnClick选项被设置为" cliqueBotao"。
答案 0 :(得分:0)
你应该在工作线程中进行数学运算,看看AsyncTask。您可以使用onProgressUpdate和onPostExecute回调来控制弹出对话框的生命周期,甚至可以显示当前的计算进度。
答案 1 :(得分:0)
正如Rogério建议的那样,AsyncTask是解决我问题的最佳解决方案。另一方面,我必须通过使用AsyncTask来发现如何开始新活动。这对我来说并不容易,但有一个有用的解决方案:Android AsyncTask: start new Activity in onPostExecute()