gpt4 book ai didi

android - 如何退出我在android中的应用程序

转载 作者:行者123 更新时间:2023-11-30 04:07:51 25 4
gpt4 key购买 nike

当我按下主屏幕上的后退按钮退出我的应用程序时,它没有发生。它与我的登录窗口循环,所以我怎样才能退出我的应用程序???我是安卓新手这是我的主屏幕代码

public class Home extends Activity implements OnClickListener {
Button btnLinkToRegister;
Button btnLinkTologin;
Button btnLinkToCompanyRegister;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome);

btnLinkToRegister = (Button) findViewById(R.id.btnLinkToRegister);
btnLinkToCompanyRegister=(Button)findViewById(R.id.btnLinkToCompanyRegister);
btnLinkTologin=(Button) findViewById(R.id.btnLinkTologin);
btnLinkToRegister.setOnClickListener(this);
btnLinkTologin.setOnClickListener(this);
btnLinkToCompanyRegister.setOnClickListener(this);
}

public void onClick(View v)
{
switch(v.getId())
{

case R.id.btnLinkToRegister:
Intent i = new Intent(getBaseContext(), Registration.class);
startActivity(i);
break;

case R.id.btnLinkTologin:
Intent j = new Intent(getBaseContext(), Login.class);
startActivity(j);
break;

case R.id.btnLinkToCompanyRegister:
Intent k = new Intent(getApplicationContext(), CompanyRegister.class);
startActivity(k);
}

}


}

这是登录 Activity

public class Login extends Activity implements OnClickListener 
{

Button mLogin;
Button mRegister;

EditText muname;
EditText mpassword;

DBHelper DB = null;
public String status="";



/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mRegister = (Button)findViewById(R.id.register);
mRegister.setOnClickListener(this);

mLogin = (Button)findViewById(R.id.login);
mLogin.setOnClickListener(this);


}


public void onClick(View v)
{
switch(v.getId())
{

case R.id.register:
Intent i = new Intent(getBaseContext(), Registration.class);
startActivity(i);
break;

case R.id.login:

muname = (EditText)findViewById(R.id.Ledituname);
mpassword = (EditText)findViewById(R.id.Leditpw);

String username = muname.getText().toString();
String password = mpassword.getText().toString();



if(username.equals("") || username == null)
{
Toast.makeText(getApplicationContext(), "Please enter User Name", Toast.LENGTH_SHORT).show();
}
else if(password.equals("") || password == null)
{
Toast.makeText(getApplicationContext(), "Please enter your Password", Toast.LENGTH_SHORT).show();
}
else
{
boolean validLogin = validateLogin(username, password, getApplicationContext());

if(validLogin)
{
if(status.equals("s"))
{
Intent in = new Intent(getBaseContext(), JSHomePage.class);
in.putExtra("UserName", muname.getText().toString());
startActivity(in);
}
else if(status.equals("c"))
{ Intent in = new Intent(getBaseContext(), CompView.class);
in.putExtra("UserName", muname.getText().toString());
startActivity(in);}
}
}
break;

}

}


private boolean validateLogin(String username, String password, Context baseContext)
{
DB = new DBHelper(getBaseContext());
SQLiteDatabase db = DB.getReadableDatabase();

String[] columns = {"_id","status"};

String selection = "username=? AND password=?";
String[] selectionArgs = {username,password};

Cursor cursor = null;
try{

cursor = db.query(DBHelper.Login_Table, columns, selection, selectionArgs, null, null, null);

startManagingCursor(cursor);

}
catch(Exception e)

{
e.printStackTrace();
}
int numberOfRows = cursor.getCount();

if(numberOfRows <= 0)
{

Toast.makeText(getApplicationContext(), "User Name and Password miss match..\nPlease Try Again", Toast.LENGTH_LONG).show();
Intent intent = new Intent(getBaseContext(), Login.class);
startActivity(intent);
return false;
}

cursor.moveToNext();
status = cursor.getString(cursor.getColumnIndex("status"));
startManagingCursor(cursor);
return true;

}
public void onBackPressed()
{
Intent i = new Intent(Login.this, Home.class);
startActivity(i);
}

public void onDestroy()
{
super.onDestroy();
DB.close();
}
}

最佳答案

我猜你试图实现看起来像那样的东西:

HomeActivity -> buttonClicked -> LoginActivity -> BackPressed -> HomeActivity -> BackPressed -> 退出你的应用

在您的情况下,删除 onBackPressed 重写方法应该可以解决问题(Android 使用后退键自动管理 Activity 之间的导航)。您的循环可能来自对 startActivity 的调用,该调用将新 Activity 添加到堆栈而不是拆栈。如果你覆盖 onBackPressed(),你可能需要调用 super,不确定。

关于android - 如何退出我在android中的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11335065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com