Brett:
El problema que estoy teniendo es que se imprime nulo en la segunda actividad y no el nombre de usuario real que se entró. ¿Los datos que se pasan a la segunda actividad correctamente? ¿La segunda actividad necesita más código? Lo sentimos, pero no el mejor en la programación.
Tengo este código en mi clase principal
if (username.getText().toString().equals("batman") &&
password.getText().toString().equals("Joker")) {
Toast.makeText(MainActivity.this, "Username and
password is correct", Toast.LENGTH_SHORT).show();
Intent intent = new Intent("com.example.*******.loginpage.User");
intent.putExtra("username",String.valueOf(username));
startActivity(new Intent(MainActivity.this, User.class));
Este es el código dentro de mi segunda clase.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user);
Intent intent = getIntent();
String username = getIntent().getStringExtra("username");
TextView textView = (TextView) findViewById(R.id.textView4);
textView.setText("Welcome" + " " + username );
Randyka Yudhistira:
El problema es que su intención en su primera clase
Intent intent = new Intent("com.example.*******.loginpage.User"); <-- have created an intent
intent.putExtra("username",String.valueOf(username));
startActivity(new Intent(MainActivity.this, User.class)); <-- but using new Intent
Ha creado una intención pero pasando nuevo intento. Utilice su intención creado en lugar de pasar nuevo intento.
Intent intent = new Intent(MainActivity.this, User.class);
intent.putExtra("username",String.valueOf(username));
startActivity(intent);
EDITAR
Utilizando en su lugar String.valueOf(username)
se debe utilizar username.getText()
, ya que String.valueOf(username)
es el método para convertir el objeto en cadena.
Intent intent = new Intent(MainActivity.this, User.class);
intent.putExtra("username",username.getText());
startActivity(intent);