首页 > 解决方案 > 在 requestCode 中使用什么

问题描述

你好,我正在尝试制作一个待办事项列表,我有 2 个活动,我想以两种方式打开新活动,一种是按下按钮,另一种是按下 recyclerView,它们会打开相同的活动,但首先你只需添加在你更新的那一秒

在您可以将 requestCode 与这样的意图一起插入之前:

Intent i = new Intent(this, ActivityTwo.class);
startActivityForResult(i, REQUEST_CODE);

但现在 startActivityForResult 已被弃用,我不知道该怎么做,我搜索了很多 Hre 是我的代码,直到现在:

eActivityResultLauncher<Intent> mGetContent = registerForActivityResult(
        new ActivityResultContracts.StartActivityForResult(),
        new ActivityResultCallback<ActivityResult>() {
            @Override
            public void onActivityResult(ActivityResult result) {
                if (result.getResultCode() == Activity.RESULT_OK) {
                    // There are no request codes
                    Intent data = result.getData();

                    int id=data.getIntExtra(AddEditNoteActivity.EXTRA_ID,-1);
                    if(id == -1){
                        Toast.makeText(MainActivity.this, "Note can't be updated", Toast.LENGTH_SHORT).show();
                        return;
                    }
                    String title=data.getStringExtra(AddEditNoteActivity.EXTRA_TITLE);
                    String description = data.getStringExtra(AddEditNoteActivity.EXTRA_DESCRIPTION);
                    int priority = data.getIntExtra(AddEditNoteActivity.EXTRA_PRIORITY, 1);
                    Note note = new Note(title, description, priority);
                    noteViewModel.insert(note);
                    Toast.makeText(MainActivity.this, "Note saved", Toast.LENGTH_SHORT).show();
                }else {
                    Toast.makeText(MainActivity.this, "Note not saved", Toast.LENGTH_SHORT).show();
                }


            }
        }
);

这就是我想做的

 ActivityResultLauncher<Intent> mGetContent = registerForActivityResult(
        new ActivityResultContracts.StartActivityForResult(),
        new ActivityResultCallback<ActivityResult>() {
            @Override
            public void onActivityResult(ActivityResult result) {
                if (result.getResultCode() == Activity.RESULT_OK) {
                    // action if button is clicked 
                    
                }else if() {
                    //action if recycledView is clicked
                }


            }
        }
);

标签: javaandroid

解决方案


推荐阅读