我希望在从ProgressDialog
跳到我的LoginActivity
时显示HomeActivity
,基本上是在加载HomeActivity
时。
当我在HomeActivity
的主线程中显示ProgressDialog
时,我正在使用单独的线程来调用LoginActivity
的意图。
一切似乎都运行良好,只是ProgressDialog
显示但没有动画微调器。
我想知道我是否正确这样做。
来自LoginActivity
的相关代码:
public class LoginActivity extends AppCompatActivity {
private EditText userID, userPass;
private ProgressDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
userID = (EditText) findViewById(R.id.edtX_srcLogin_userID);
userPass = (EditText) findViewById(R.id.edtX_srcLogin_userpass);
final Button bt_submit = (Button) findViewById(R.id.bT_scrLogin_submit);
bt_submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
parseUserCredentials(userID.getText().toString(), userID.getText().toString());
}
});
}
private void parseUserCredentials(String userId, String userPassword) {
if ( userId.equals("userid") && userPassword.equals("1234") ) {
dialog = ProgressDialog.show(LoginActivity.this, "Checking credentials",
"Please wait...", true, false);
newThreadLoadActivity();
}else {
userID.setText("");
userPass.setText("");
userID.requestFocus();
dialog.cancel();
}
}
private void newThreadLoadActivity(){
new Thread() {
public void run() {
startActivity(new Intent(LoginActivity.this, HomeActivity.class));
}
}.start();
}
@Override
protected void onStop() {
super.onStop();
dialog.cancel();
}
}
修改
主要想法是在ProgressDialog
加载时显示HomeActivity
,并在ProgressDialog
准备好显示时取消HomeActivity
。
答案 0 :(得分:0)
使用以下代码。在移动到下一个活动时,它将延迟10秒,以便您的进度条可见。
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
dialog.cancel();
startActivity(new Intent(LoginActivity.this, HomeActivity.class));
}
}, 10000);