如何从另一个类调用和运行函数

时间:2010-12-17 10:05:25

标签: android classpath

我开始使用Android开发人员了。我目前遇到班上的问题。我使用Login.java来分离函数。以下是我的代码:

public class GTSMobile extends Activity {
@Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.login); 

     Login lg = new Login();
     lg.Chk_Login();

 } 
}
public class Login extends Activity{
public void Chk_Login() {
  Button launch = (Button)findViewById(R.id.login_button);  
  launch.setOnClickListener( new OnClickListener()
        { @Override        
            public void onClick(View viewParam)
             {                    
              EditText usernameEditText = (EditText) findViewById(R.id.txt_username);
              EditText passwordEditText = (EditText) findViewById(R.id.txt_password);             
              String sUserName = usernameEditText.getText().toString();
              String sPassword = passwordEditText.getText().toString();

              if(sUserName.length() == 0 || sPassword.length() == 0){
               ShowOKAlert();
              }else{
               setContentView(R.layout.main);              
              }
            }
  }); // end of launch.setOnclickListener  
 }

 void ShowOKAlert(){
  AlertDialog alertDialog = new AlertDialog.Builder(this).create();
        alertDialog.setTitle("Login Fail");
        alertDialog.setMessage("Please Enter UserName and Password");
        alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int which) {              
           }
        });
        alertDialog.setIcon(R.drawable.icon);
        alertDialog.show();
 }
}

1 个答案:

答案 0 :(得分:0)

您无法以这种方式使用“活动”。活动是用户“看到”的东西。想象一下它是手机上的一个屏幕。 总是会向用户显示一个活动&你不能只是在它们之间进行方法调用。

有关活动生命周期的更多信息,请查看此信息: http://developer.android.com/reference/android/app/Activity.html

您将使用以下命令启动新活动: startActivity(..),不使用“new YourActivity(..)”

但是,在您的代码中,我认为您没有理由开始新的活动。只需在第一个Activity中编写一个方法checkLogin(...)。

希望对你有所帮助。

干杯