2012-11-27 68 views
1

我創建了一個屏幕,它會詢問密碼並與內置密碼進行比較並啓動另一個屏幕,但即使提供正確的密碼,我也無法啓動該活動。任何幫助將不勝感激。爲什麼我的登錄屏幕不能正常工作

public class MainActivity extends Activity { 

    public static String lock = "vamsi"; 
    public static String locker; 
    EditText et; 
    Button b; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.activity_main); 
     et = (EditText) findViewById(R.id.editText1); 
     b = (Button) findViewById(R.id.button1); 
     locker = et.getText().toString(); 

     b.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View arg0) { 
        if (locker.equals(lock)) { 
        Intent intent = new Intent("screen"); 

        startActivity(intent); 
       } 
      } 
     }); 
    } 
} 
+1

什麼是屏幕的位置值: 意向意圖=新意圖( 「屏幕」);請在此提及當前活動的名稱以及您想要打開的活動。 –

+1

請在這裏提問前解決。 – Goofy

+0

雅我沒有它的工作,所以只有我問@Goofy –

回答

1

寫行之後的

Intent intent = new Intent (getApplicationContext(), FileName.class); 

代替

Intent intent = new Intent("screen"); 

文件名是活動要在OnClick方法來打開該做的名字。

+0

雅我解決了這個問題,但爲什麼我應該不斷轉換字符串在onclicklistener活動? oncreate函數中的所有代碼是否執行? –

+0

因爲當你將代碼保存在Onclick方法中時,它會動態地檢查字符串,但是當你將代碼保存在onCreate中時,它會在Activity啓動時一次性檢查字符串。 –

0

首先我想在這裏補充一些要點:

  1. 使用異步任務,如果你正在使用的Web服務。
  2. 請在此處詢問之前解決。

也許你可以試試這個:

if(locker.contains(lock)){ 
      Intent success = new Intent(LoginScreen.this,MainMenu.class); 
      startActivity(success 
}else{ 

AlertDialog.Builder builder = new AlertDialog.Builder(LoginScreen.this); 
builder.setMessage("Incorrect LoginId or Password"); 
builder.setCancelable(true); 
builder.setPositiveButton("OK", 
new DialogInterface.OnClickListener() { 

@Override 
public void onClick(DialogInterface dialog, int id) { 
// TODO Auto-generated method stub 
} 
}); 
builder.create().show(); 
} 
+0

亞我解決了這個問題,但爲什麼我應該繼續轉換字符串onclicklistener活動? oncreate函數中的所有代碼是否執行? –

1

我假設你是新蜜蜂在這裏,所以纔去開始發展,你必須讀一些理論以及一些教程去。根據你的代碼我假設你不知道如何撥打intent

看這裏,什麼是Intent

您的onclick代碼應該如下所示:

  b.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View arg0) { 
       // TODO Auto-generated method stub 
       locker = et.getText().toString(); 
       if (locker.equalsIgnoreCase(lock)) { 
       Intent intent = new Intent(getApplicationContext(),example.class); 
       //example.class is the name of activity which you want to launch. 
       startActivity(intent); 
       } 

      } 

     }); 
+0

雅我解決了這個問題,但爲什麼我應該繼續轉換字符串在onclicklistener活動? oncreate函數中的所有代碼是否執行? –

+0

@ user1395129它也很好,但它更好,如果你保持在onclick becoz每當你點擊它獲取數據。 – RobinHood