Android 开发 - 关于 startActivity 后立刻 finish、requestWindowFeature 方法注意事项

关于 startActivity 后立刻 finish

  • 注:Activity 的 startActivity 方法没有强制要求必须在主线程调用
java 复制代码
new Intent(this, ActivitionActivity.class); // 启动新 Activity
finish(); // 立即关闭当前 Activity
  • 这样设计的目的有
  1. 单任务栈导航:在 HomeActivity 中执行 finish 方法后,会退出应用,而不是返回 MainActivity

  2. 避免返回栈累积

  • 这种模式常见于
  1. 启动页跳转到主页面

  2. 登录成功后跳转到主页


requestWindowFeature 方法注意事项

  • requestWindowFeature 方法必须在 setContentView 方法之前调用,否则会抛出异常
java 复制代码
public class RequestWindowFeatureTestActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_request_window_feature_test);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
    }
}
复制代码
# 输出结果

FATAL EXCEPTION: main
Process: com.my.view, PID: 22747
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my.view/com.my.view.RequestWindowFeatureTestActivity}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content
相关推荐
「QT(C++)开发工程师」7 小时前
C++并发编程新纪元:线程库、异步操作与泛型Lambda深度解析
开发语言·c++
-许平安-7 小时前
MCP项目笔记四(Transport)
开发语言·c++·笔记·ai·mcp
Felven7 小时前
C. Stable Groups
c语言·开发语言
码农的小菜园7 小时前
Java线程池学习笔记
java·笔记·学习
SuperEugene7 小时前
Vue3 + Element Plus 表单校验实战:规则复用、自定义校验、提示语统一,告别混乱避坑|表单与表格规范篇
开发语言·前端·javascript·vue.js·前端框架
2401_894241927 小时前
基于C++的数据库连接池
开发语言·c++·算法
阿贵---7 小时前
C++中的适配器模式
开发语言·c++·算法
C羊驼7 小时前
C语言学习笔记(十二):动态内存管理
c语言·开发语言·经验分享·笔记·青少年编程
SuperEugene7 小时前
Vue3 + Element Plus 表格查询规范:条件管理、分页联动 + 避坑,标准化写法|表单与表格规范篇
开发语言·前端·javascript·vue.js·前端框架
小邓睡不饱耶7 小时前
东方财富网股票数据爬取实战:从接口分析到数据存储
开发语言·爬虫·python·网络爬虫