Ich mache eine Anmeldung Aktivität und ich will es den Fortschrittsdialog zeigen, wenn die Anmeldeschaltfläche gedrückt wird Ich erklärte, initialisiert und angerufen, aber es wird nicht angezeigt. Aber wenn ich die Fortschritte erstellen Dialog aufgerufen innerhalb des auf zeigte esFortschrittsdialog wird nicht angezeigt, wenn deklariert, initialisiert und aufgerufen
up Dies ist mein Code unten:
public class Login extends Activity {
private EditText username, password;
private Button login;
private Button signup;
String txtUsername, txtPassword, loggedin;
private ProgressDialog mProgress;
String titleId = "Logging in";
int id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
final DatabaseHelper db = new DatabaseHelper(this);
username = (EditText) findViewById(R.id.username);
password = (EditText) findViewById(R.id.password);
login = (Button) findViewById(R.id.login);
signup = (Button) findViewById(R.id.signup);
// Login button listener
login.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
showProgress();
// Retrieve text from the EditText
txtUsername = username.getText().toString();
txtPassword = password.getText().toString();
if (txtUsername.isEmpty() && txtPassword.isEmpty()) {
mProgress.dismiss();
Toast.makeText(getApplicationContext(),"Enter Username And Password", Toast.LENGTH_LONG);
} else {
User user = db.getUser(txtUsername, txtPassword);
id = user.getId();
if (txtUsername.equalsIgnoreCase(user.getUsername())
&& txtPassword.equals(user.getPassword())) {
mProgress.dismiss();
Intent intent = new Intent(Login.this,
AdministratorPage.class);
intent.putExtra("username", "username");
intent.putExtra("id", "id");
startActivity(intent);
Toast.makeText(
getApplicationContext(),
"Successfully Logged In as "
+ user.getUsername(), Toast.LENGTH_LONG)
.show();
finish();
} else {
mProgress.dismiss();
Toast.makeText(getApplicationContext(),
"Usename Or Password Incorrect",
Toast.LENGTH_LONG).show();
username.setText("");
password.setText("");
}
}
}
});
// Sign up button listener
signup.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
showProgress();
// Retrieve text from the EditText
txtUsername = username.getText().toString();
txtPassword = password.getText().toString();
if (txtUsername.isEmpty() && txtPassword.isEmpty()) {
mProgress.dismiss();
Toast.makeText(getApplicationContext(),
"Enter Username And Password", Toast.LENGTH_LONG);
} else {
// Inserting Contacts
Log.d("Insert: ", "Inserting ..");
db.addUser(new User(txtUsername, txtPassword, "Y"));
// Reading all contacts
Log.d("Reading: ", "Reading all contacts..");
List<User> users = db.getAllUsers();
for (User cn : users) {
String log = "Id: " + cn.getId() + " ,Name: "
+ cn.getUsername() + " ,Password: "
+ cn.getPassword();
// Writing Contacts to log
Log.d("Name: ", log);
}
mProgress.dismiss();
Intent intent = new Intent(Login.this,
AdministratorPage.class);
startActivity(intent);
Toast.makeText(getApplicationContext(),
"Successfully Logged In", Toast.LENGTH_LONG).show();
finish();
}
}
});
}
public void showProgress() {
// Initialize the Progress Dialog
mProgress = new ProgressDialog(Login.this);
mProgress.setTitle(titleId);
mProgress.setMessage("Logging In Please Wait...");
mProgress.show();
}
Ich weiß nicht, was Sie erwarten, aber in jedem Fall in Ihrer if/else-Struktur, Sie sind den Dialog zu schließen ..... so denke ich, der Dialog zeigt sich einige Millisekunden, wird aber direkt entlassen .. – Opiatefuchs
I Ich teste es auf einem Emulator, so dass es normalerweise angezeigt wird und ich kürzlich eine ähnliche Aktivität mit der gleichen Methode für einen Fortschrittsdialog geschrieben habe und es zeigte, aber nicht hier ist diese Aktivität –