我有一个活动:
Activity1,应该打开一次(第一次启动) Activity2,主屏幕。在第一次启动时在Activity1中做了一些事情之后,每次启动Activity2都应该打开。我有点想出了如何做到这一点,它工作得很好,但是当我按下手机上的“后退”按钮时,Activity1突然出现。
那么我该如何解决呢?我应该清除堆栈还是什么?
这是我的代码:
活动 1:
public class MainActivity extends AppCompatActivity {
Button but1;
EditText input1;
TextView error1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome_page);
if(getName("username")!=null){
Intent intent = new Intent(MainActivity.this, WelcomePageLast.class);
startActivity(intent);
}
ListenerOnButton();
}
public void ListenerOnButton(){
but1 = (Button)findViewById(R.id.welcome_page_button);
input1 = (EditText)findViewById(R.id.username_input);
error1 = (TextView)findViewById(R.id.name_error);
but1.setOnClickListener(
new View.OnClickListener() {
public void onClick(View view){
if (input1.getText().toString().length() < 2){
error1.setText("Слишком короткое имя!");
}else {
error1.setText("");
Intent intent = new Intent(MainActivity.this, WelcomePageLast.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK |Intent.FLAG_ACTIVITY_CLEAR_TOP);
setName("username", input1.getText().toString());
startActivity(intent);
}
}
}
);
}
public void setName(String key, String value){
SharedPreferences preferences = getSharedPreferences("preferences", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString(key, value);
editor.apply();
}
翻阅古今
相关分类