android 加载好下一个activity页面但先不显示
时间: 2023-08-16 19:07:37 浏览: 73
在Android中,如果你想要加载一个Activity但是先不显示它,可以调用`startActivity()`方法,但是不要在这个方法后面立即调用`finish()`方法,因为这样会导致当前Activity销毁并且转换到下一个Activity。
你可以使用`Intent`的`setFlags()`方法来设置`FLAG_ACTIVITY_NEW_TASK`和`FLAG_ACTIVITY_CLEAR_TASK`标志,这样可以在启动新Activity时清除当前任务栈中的所有Activity,并且新的Activity将成为任务栈中的唯一Activity。
具体代码如下:
```java
Intent intent = new Intent(this, NextActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
//不要在这里调用finish()方法,否则当前Activity会被销毁
```
这样就可以在启动下一个Activity时不显示当前Activity了。
相关问题
android 加载好下一个activity页面但先不显示下一个页面
如果你想要加载下一个Activity但是先不显示它,可以使用`Intent`的`putExtra()`方法传递一个标志位,在下一个Activity中判断该标志位,如果为真则不显示该Activity。
具体的过程如下:
1.在当前Activity中设置标志位
```java
Intent intent = new Intent(this, NextActivity.class);
intent.putExtra("showNextActivity", false);
startActivity(intent);
```
2.在下一个Activity中判断标志位并设置显示状态
```java
public class NextActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_next);
boolean showActivity = getIntent().getBooleanExtra("showNextActivity", true);
if (showActivity) {
//显示该Activity
//...
} else {
//不显示该Activity
//...
}
}
}
```
这样就可以在加载下一个Activity时不显示它了。如果你想要在后续的某个时间点显示该Activity,只需要在适当的时候设置标志位为真即可。
android 加载好下一个activity页面但先停留在当前页面,不显示下一个页面
如果你想要在加载下一个Activity时停留在当前页面,可以使用`Intent`的`putExtra()`方法传递一个标志位,在下一个Activity中判断该标志位,如果为真则在合适的时候再显示该Activity。
具体的过程如下:
1.在当前Activity中设置标志位
```java
Intent intent = new Intent(this, NextActivity.class);
intent.putExtra("showNextActivity", false);
startActivity(intent);
```
2.在下一个Activity中判断标志位并设置显示状态
```java
public class NextActivity extends AppCompatActivity {
private boolean mShowActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_next);
mShowActivity = getIntent().getBooleanExtra("showNextActivity", true);
}
@Override
protected void onResume() {
super.onResume();
if (mShowActivity) {
//显示该Activity
//...
}
}
}
```
这样就可以在加载下一个Activity时停留在当前页面了,等到合适的时候再显示下一个Activity。如果你想要在后续的某个时间点显示该Activity,只需要在适当的时候设置标志位为真即可。