Android 为什么我的登录屏幕不工作

Android 为什么我的登录屏幕不工作,android,login,Android,Login,我创建了一个屏幕,它将询问密码并与内置密码进行比较,然后启动另一个屏幕,但即使我给出了正确的密码,我也无法启动活动。任何帮助都将不胜感激 public class MainActivity extends Activity { public static String lock = "vamsi"; public static String locker; EditText et; Button b; @Override publ

我创建了一个屏幕,它将询问密码并与内置密码进行比较,然后启动另一个屏幕,但即使我给出了正确的密码,我也无法启动活动。任何帮助都将不胜感激

 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);
                 }
             }
         });
    }
}
写下下面一行

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

Intent intent = new Intent("screen");

其中,FileName是您要用Onclick方法打开的活动的名称。

首先,我想在这里补充几点:

  • 如果您正在使用Web服务,请使用异步任务

  • 在询问之前,请仔细考虑一下
  • 也许你可以试试这个:

    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();
    }
    

    我假设你是新来的,所以在开始开发之前,你必须先阅读一些理论,再完成一些教程。根据您的代码,我假设您不知道如何调用
    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);
                     }
    
                 }
    
             });
    

    屏幕在这里的价值是什么:意图=新意图(“屏幕”);请在此处提及当前活动的名称以及您要打开的活动。在这里提问之前,请仔细研究。是的,我做了,但它不起作用,所以我只问了@Goofyya我解决了问题,但为什么我要继续在onclicklistener活动中转换字符串?oncreate函数中的所有代码是否都会执行?因为当您将代码保留在Onclick方法中时,它会动态检查字符串,但当您将代码保留在oncreate中时,它只会在活动启动时检查字符串。是的,我解决了问题,但为什么我要在Onclick Listener活动中继续转换字符串? oncreate函数中的所有代码是否都会执行?@user1395129这也很好,但最好是在每次单击onclick becoz获取数据时都将其保留在内部。是的,我解决了问题,但为什么我要在onclick Listener活动中继续转换字符串?oncreate函数中的所有代码是否都会执行?