- Posts del Foro: 2
12 jul. 2015 17:11:55 vía Web
12 jul. 2015 17:11:55 vía Web
Hola tengo un problema y es que se me cierra la app. Consiste en un login que valida las credenciales demo/demo.
Estoy iniciandome y bueno pues seguí un tutorial muy bueno que hay, pero me encuentro con este problma y parece estar todo bien.
Tengo dos clases:
Activity_main y Control_login. El segundo es un control que intento utilizar desde el main. Pero en el momento de pulsar el botón para el login, la aplicación se rompe.
El control_login es:
package com.multiservices.multiservices;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import es.multi_services.multiservices.R;
/**
* Created by pedro on 7/10/15.
*/
public class ControlLogin extends LinearLayout
{
private EditText txtUsuario;
private EditText txtPassword;
private TextView lblMensaje;
private Button btnLogin;
public ControlLogin(Context context) {
super(context);
inicializar();
}
public ControlLogin(Context context, AttributeSet attrs) {
super(context, attrs);
inicializar();
}
private OnLoginListener listener;
//...
public void setOnLoginListener(OnLoginListener l)
{
listener = l;
}
private void inicializar()
{
//Utilizamos el layout 'control_login' como interfaz del control
String infService = Context.LAYOUT_INFLATER_SERVICE;
LayoutInflater li =
(LayoutInflater)getContext().getSystemService(infService);
li.inflate(R.layout.control_login, this, true);
//Obtenemos las referencias a los distintos control
txtUsuario = (EditText)findViewById(R.id.TxtUsuario);
txtPassword = (EditText)findViewById(R.id.TxtPassword);
btnLogin = (Button) findViewById(R.id.BtnAceptar);
lblMensaje = (TextView)findViewById(R.id.LblMensaje);
//Asociamos los eventos necesarios
asignarEventos();
}
public void setMensaje(String msg)
{
lblMensaje.setText(msg);
}
private void asignarEventos()
{
btnLogin.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
String user,pass;
user=txtUsuario.getText().toString();
pass= txtPassword.getText().toString();
listener.onLogin(user,pass);
}
});
}
}
Y el activity_main es:
package com.multiservices.multiservices;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import es.multi_services.multiservices.R;
public class MainActivity extends ActionBarActivity {
private EditText txtUsuario = (EditText) findViewById(R.id.TxtUsuario);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
public void redirectionInterface (String profile)
{
if (profile.toString().equals("supplier"))
{
txtUsuario= (EditText) findViewById(R.id.TxtUsuario);
//Creamos el Intent
Intent intent =
new Intent(MainActivity.this, SupplierActivity.class);
//Creamos la información a pasar entre actividades
Bundle b = new Bundle();
b.putString("NOMBRE", txtUsuario.getText().toString());
//Añadimos la información al intent
intent.putExtras(b);
//Iniciamos la nueva actividad
startActivity(intent);
}
else
{
txtUsuario= (EditText) findViewById(R.id.TxtUsuario);
//Creamos el Intent
Intent intent =
new Intent(MainActivity.this, RequesterActivity.class);
//Creamos la información a pasar entre actividades
Bundle b = new Bundle();
b.putString("NOMBRE", txtUsuario.getText().toString());
//Añadimos la información al intent
intent.putExtras(b);
//Iniciamos la nueva actividad
startActivity(intent);
}
this.finish();
}
}
Si alguien me puede ayudar, se loa agradezco.
Saludos,
Contenido editorial recomendado
Con su consentimiento, aquí se cargan contenidos externos.
Al hacer clic en el botón anterior, acepta que se le muestren contenidos externos. En el proceso pueden transmitirse datos personales a terceros proveedores. Encontrará más información al respecto en nuestro Política de privacidad.