我是Android开发公司的新成员,是我最后一年的项目。我遇到了一些问题,即第二个活动,即父活动页提交按钮不能正常工作,因为它应该在移到另一个活动页之前进行错误检查。
主Activity.java代码
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
//DEFINE WHICH BUTTON TO CLICK ON
Button ButtonParent;
Button ButtonKid;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButtonParent=findViewById(R.id.buttonParent);
ButtonKid=findViewById(R.id.buttonKid);
ButtonParent.setOnClickListener(this);
ButtonKid.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (view==ButtonParent) {
Intent intent_Parent = new Intent(MainActivity.this, ParentLogin.class);
intent_Parent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent_Parent);
}else if(view==ButtonKid) {
Intent intent_Kid = new Intent(MainActivity.this, KidLogin.class);
intent_Kid.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent_Kid);
}
}
}父Login.java代码
public class ParentLogin extends AppCompatActivity implements View.OnClickListener{
EditText pName;
EditText pNRIC;
Button ParentLogin;
Button ParentRegister;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_parent_login);
pName = findViewById(R.id.LoginParentName);
pNRIC = findViewById(R.id.ParentNRIC);
ParentLogin=findViewById(R.id.LoginParentSubmit);
ParentRegister=findViewById(R.id.LoginParentRegister);
ParentLogin.setOnClickListener(this);
ParentRegister.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (view == ParentLogin) {
String ParentName = pName.getText().toString().trim();
String ParentNRIC = pNRIC.getText().toString().trim();
boolean res = ParentDAO.checkParent(ParentName, ParentNRIC);
if ((TextUtils.isEmpty(ParentName))||!(TextUtils.isEmpty(ParentNRIC))) {
Toast toast= Toast.makeText(ParentLogin.this, "Please fill in all the empty columns which are available", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL,0,0);
toast.show();
} else {
if (res) {
Toast.makeText(ParentLogin.this, "Login Successfully", Toast.LENGTH_SHORT).show();
Intent intent_parentActivity = new Intent(ParentLogin.this, ParentActivity.class);
intent_parentActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent_parentActivity);
} else {
Toast.makeText(ParentLogin.this, "Login not Successfully", Toast.LENGTH_SHORT).show();
}
}
}else if(view==ParentRegister) {
Intent intent_parentRegister = new Intent(ParentLogin.this, ParentRegistration.class);
intent_parentRegister.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent_parentRegister);
}
}
}发布于 2021-01-16 06:38:39
有两种方法可以做到。
1.
finish();finish命令完成您所处位置的活动。我的意思是,如果您在活动a中,并且设置了到活动b的意图,那么,如果将finish()命令设置在意图下面,而不是按后退按钮,则不会重定向到活动a。
注:如果在活动a之前有活动,那么您将被重定向到该活动。如果使用finish命令
2.
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);它清除了你所有的活动。
发布于 2021-01-16 04:59:11
尝试将Intent.FLAG_ACTIVITY_CLEAR_TOP)替换为:
Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK发布于 2021-01-16 06:24:54
正如您所说的,活动是在不检查错误的情况下更改的,所以在启动新活动之前请检查条件。
如果您知道如何执行
。
检查这个条件
if ((TextUtils.isEmpty(ParentName))||!(TextUtils.isEmpty(ParentNRIC)))https://stackoverflow.com/questions/65746618
复制相似问题