这是代码,例如在Android第一个活动中的结果集,其中包含3 EditText
和3 Button
s或TextView
的UI。我需要在第二TextView
中设置值以显示从前3 EditText
计算的总标记,并在主方法中休眠10秒而不使用线程,但我得到操作,即在睡觉10秒后立即显示总TextView
并导航到下一个活动,即在代码中提到,以便如何在设置总数后等待10秒
EditText etMarkOne,etMarkTwo,etMarkThree;
TextView tvTMarks,tvTotal,tvGrade;
int m1,m2,m3,Tmarks;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
inilizeViewControls();
eventHandlingonViewControls();
}
private void eventHandlingonViewControls(){
tvTotal.setOnClickListener(this);
}
private void inilizeViewControls() {
etMarkOne = (EditText) findViewById(R.id.etMarkOne);
etMarkTwo = (EditText) findViewById(R.id.etMarkTwo);
etMarkThree = (EditText) findViewById(R.id.etMarkThree);
tvGrade = (TextView) findViewById(R.id.tvGrade);
tvTMarks = (TextView) findViewById(R.id.tvTMarks);
tvTotal= (TextView) findViewById(R.id.tvTotal);
}
@Override
public void onClick(View v) {
m1 = Integer.parseInt(etMarkOne.getText().toString());
m2 = Integer.parseInt(etMarkTwo.getText().toString());
m3 = Integer.parseInt(etMarkThree.getText().toString());
Tmarks = m1 + m2 + m3;
tvTMarks.setText(""+Tmarks);
Thread.sleep(2000);
Intent i = new Intent(MainActivity.this,ResultActivity.class);
i.putExtra("Tmarks",Tmarks);
i.putExtra(" m1", m1);
i.putExtra(" m2", m2);
i.putExtra(" m3",m3);
startActivityForResult(i,1);
}
}
答案 0 :(得分:0)
您可以使用Handler
执行任务(postDelayed()
中的10000表示10秒= 10000毫秒):
Handler handler = new Handler();
// do work before delay here
...
handler.postDelayed(new Runnable() {
public void run() {
// do work after delay here
...
}
}, 10000);