2014-01-14 44 views
1

我正在創建簡單的登錄頁面。 但是當我點擊登錄時,我的程序剛剛關閉。 實際上,當我使用,如果條件是造成這個問題。我試過,如果條件不同,但沒有得到確切的結果 這是什麼問題? 主要活動編碼這個簡單的登錄是什麼問題

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編碼是

<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> 
+3

「我的程序剛剛關機」 表示您應該添加Stacktrace到這個問題。 – keyboardsurfer

+0

也''用戶==「abc123」'永遠不會工作 – njzk2

+0

似乎你在類'MainActivity1'崩潰 –

回答

2

簡單地寫:

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

}

+0

檢查它,如果不成功,然後顯示你的logcat。 – Ranjit

+0

成功感謝很多 – user3193299

+0

你是最受歡迎的。 – Ranjit

3

不要使用==來比較字符串,==是比較它們的地址,等於就是讓你需要使用相當於
比較它們的價值 此代碼,可以提供NPE

if("abc123".equals(user)){ 
    Intent k=new Intent(MainActivity.this,MainActivity1.class); 
    startActivity(k); 
} 
5

使用user.equals( 「ABC123」)

而不是:用戶==「abc123」

它的工作!

+0

我嘗試過,但仍然不能正常工作 – user3193299

+0

調試它!放置日誌或斷點。發生了什麼 ??任何錯誤? –

+0

非常感謝。它現在工作。 – user3193299

1

,而不是這個

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

使用這一個

String user=e1.getText().toString(); 
String name = "abc123"; 
if(user.equals(name.trim()) 
{ 
Intent i=new Intent(MainActivity.this,MainActivity1.class); 
startActivity(i); 
相關問題