我没有错误但是当我运行应用程序时它崩溃了,我不知道为什么! 这是代码,我确定错误在这里,因为它在这里工作。 我一直在努力寻找这个问题大约4个小时但仍然没有线索!
public class MainActivity extends Activity implements OnClickListener {
EditText et1, et2, usuario1, password1, password2;
Button ingresar, borrar, ajustes, cancelarBtn, okusBtn;
Dialog dialog;
Context context = this;
String usuario = "";
String password = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1=(EditText)findViewById(R.id.et1);
et2=(EditText)findViewById(R.id.et2);
ingresar=(Button)findViewById(R.id.ingresar);
borrar=(Button)findViewById(R.id.borrar);
ajustes=(Button)findViewById(R.id.ajustesBtn);
cancelarBtn =(Button)dialog.findViewById(R.id.cancelarUs);
okusBtn =(Button)dialog.findViewById(R.id.okUs);
password1=(EditText)dialog.findViewById(R.id.password1);
password2=(EditText)dialog.findViewById(R.id.password2);
usuario1=(EditText)dialog.findViewById(R.id.usuario1);
borrar.setOnClickListener(this);
ingresar.setOnClickListener(this);
ajustes.setOnClickListener(this);
cancelarBtn.setOnClickListener(this);
okusBtn.setOnClickListener(this);
}
@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;
}
@Override
public void onClick(View arg0) {
switch(arg0.getId()){
case R.id.ingresar:
String usRecibido=et1.getText().toString();
String pasRecibido=et2.getText().toString();
if(usRecibido.equals(usuario) && pasRecibido.equals(password)){
Intent pancar = new Intent("com.example.iniciosesion.Iniciado");
Bundle bolsa = new Bundle();
bolsa.putString("NombreKey", usRecibido);
pancar.putExtras(bolsa);
startActivity(pancar);
}else{
Toast ts=Toast.makeText(this, "Usuario o contraseña incorrecto", Toast.LENGTH_LONG);
ts.show();
}
break;
case R.id.borrar:
et1.setText("");
et2.setText("");
break;
case R.id.ajustesBtn:
dialog = new Dialog(context);
dialog.setContentView(R.layout.controlusuario);
dialog.setTitle("Modificar usuario");
if(usuario == "" && password == ""){
password1.setHint("Crear password");
}else{
password1.setHint("Password actual");
}
break;
case R.id.cancelarUs:
dialog.dismiss();
break;
case R.id.okUs:
if(usuario == "" && password == "" && password1.getText().toString() == password2.getText().toString()){
usuario = usuario1.getText().toString();
password = password1.getText().toString();
}
if(usuario1.equals(usuario) && password1.equals(password))
password = password2.getText().toString();
usuario = usuario1.getText().toString();
break;
}
}
}
答案 0 :(得分:0)
尝试此代码我已在onCreate()
方法
public class MainActivity extends Activity implements OnClickListener{
EditText et1, et2, usuario1, password1, password2;
Button ingresar, borrar, ajustes, cancelarBtn, okusBtn;
Dialog dialog;
Context context = this;
String usuario = "";
String password = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1=(EditText)findViewById(R.id.et1);
et2=(EditText)findViewById(R.id.et2);
ingresar=(Button)findViewById(R.id.ingresar);
borrar=(Button)findViewById(R.id.borrar);
ajustes=(Button)findViewById(R.id.ajustesBtn);
dialog = new Dialog(getBaseContext);
dialog.setContentView(R.layout.controlusuario);
dialog.setTitle("Modificar usuario");
cancelarBtn =(Button)dialog.findViewById(R.id.cancelarUs);
okusBtn =(Button)dialog.findViewById(R.id.okUs);
password1=(EditText)dialog.findViewById(R.id.password1);
password2=(EditText)dialog.findViewById(R.id.password2);
usuario1=(EditText)dialog.findViewById(R.id.usuario1);
borrar.setOnClickListener(this);
ingresar.setOnClickListener(this);
ajustes.setOnClickListener(this);
cancelarBtn.setOnClickListener(this);
okusBtn.setOnClickListener(this);
}
@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;
}
@Override
public void onClick(View arg0) {
switch(arg0.getId()){
case R.id.ingresar:
String usRecibido=et1.getText().toString();
String pasRecibido=et2.getText().toString();
if(usRecibido.equals(usuario) && pasRecibido.equals(password)){
Intent pancar = new Intent("com.example.iniciosesion.Iniciado");
Bundle bolsa = new Bundle();
bolsa.putString("NombreKey", usRecibido);
pancar.putExtras(bolsa);
startActivity(pancar);
}else{
Toast ts=Toast.makeText(this, "Usuario o contraseña incorrecto", Toast.LENGTH_LONG);
ts.show();
}
break;
case R.id.borrar:
et1.setText("");
et2.setText("");
break;
case R.id.ajustesBtn:
if(usuario == "" && password == ""){
password1.setHint("Crear password");
}else{
password1.setHint("Password actual");
}
break;
case R.id.cancelarUs:
dialog.dismiss();
break;
case R.id.okUs:
if(usuario == "" && password == "" && password1.getText().toString() == password2.getText().toString()){
usuario = usuario1.getText().toString();
password = password1.getText().toString();
}
if(usuario1.equals(usuario) && password1.equals(password))
password = password2.getText().toString();
usuario = usuario1.getText().toString();
break;
}
}