onBackPressed() 回到活动,而不是文件夹

时间:2021-06-28 12:11:16

标签: java android onbackpressed

我想访问包含其他文件夹和文件的文件夹以查看它们,然后按后退按钮返回主视图。 但是当我按下后退按钮时,它会将我返回到我所在目录中的上一个文件夹。只有我多次返回时,它才会返回到主视图。 有没有办法通过只按一次“后退”按钮来强制它返回主视图,或者可以通过某种方式创建一个浮动按钮以在使用 ACTION_GET_CONTENT 后创建一个新的 Intent?

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ....
        projectList.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               // Just to see existing folders
                Intent i = new Intent(Intent.ACTION_GET_CONTENT)
                        .setType("file/*");
                setResult(RESULT_OK, i);
                startActivityForResult(i, CODE_SEE_FOLDER);
            }
        });
    }
...

 @Override
    public void onBackPressed() {
        Intent intent = new Intent();
        setResult(RESULT_CANCELED, intent);
        startActivityForResult(intent, CODE_SEE_FOLDER);
        super.onBackPressed();
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if(requestCode == CODE_SEE_FOLDER && requestCode == RESULT_OK){
            Toast.makeText(context, "Your projects..", Toast.LENGTH_SHORT).show();
        }else {
            recreate();
        }
    }

0 个答案:

没有答案