1

i am creating simple login page. but when i click on sign in, my program just shutdown. actually when i use if condition it is creating this problem. i tried if condition in different ways but not getting exact results what is the issue? main activity coding

 public class MainActivity extends Activity implements OnClickListener  {
Button a1;
EditText e1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    a1=(Button)findViewById(R.id.button1);
    e1=(EditText)findViewById(R.id.editText1);
    a1.setOnClickListener(this);
    }

@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    String user=e1.getText().toString();
    if(user=="abc123"){
        Intent k=new Intent(MainActivity.this,MainActivity1.class);
        startActivity(k);
    }
    }

 }

xml coding is

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="104dp"
    android:ems="10"
    android:inputType="textPersonName" >

    <requestFocus />
</EditText>

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="Login" />

</RelativeLayout>
user3193299
  • 77
  • 1
  • 1
  • 8

4 Answers4

3

Don't use == to compare string, == is compare their address and equals is compare their value so that you need use equals
this code can provide NPE

if("abc123".equals(user)){
    Intent k=new Intent(MainActivity.this,MainActivity1.class);
    startActivity(k);
}
henry4343
  • 3,871
  • 5
  • 22
  • 30
2

Use user.equals("abc123")

Instead of : user=="abc123"

Its Working!

Harsh Goswami
  • 502
  • 3
  • 12
2

Simply write:

String user=e1.getText().toString();
String uName = "abc123";
if(user.equals(uName.trim()){
Intent k=new Intent(MainActivity.this,MainActivity1.class);
startActivity(k);

}

Ranjit
  • 5,130
  • 3
  • 30
  • 66
1

instead of this

String user=e1.getText().toString();
    if(user=="abc123"){
        Intent k=new Intent(MainActivity.this,MainActivity1.class);
        startActivity(k);

use this one

String user=e1.getText().toString();
String name = "abc123";
if(user.equals(name.trim())
{
Intent i=new Intent(MainActivity.this,MainActivity1.class);
startActivity(i);
user2590541
  • 522
  • 3
  • 7
  • 19