如何在不调用finish()的情况下退出Activity UI

时间:2018-03-15 16:48:22

标签: android-intent android-activity activity-finish

我将Activity UI从外部库加载到屏幕上。

样品

button1.setOnClickListener(new Button.OnClickListener() {

    Intent myActivity= new Intent(getApplicationContext(), myActivity.class);
    myActivityOption option = new myActivityOption();

    option.setType(2);
    myActivity.putExtra("myActivityOption", option);

    startActivityForResult(myActivity, REQUEST_CODE);
}

当点击UI的“取消”按钮时,此库将使用finish()函数终止。

但是,我希望Activity类的成员仍然有效。

这是因为初始化过程需要很长时间。

private void Cancel(ImageView img){

    img.setOnTouchListener(new AdapterView.OnTouchListener(){
        @Override
        public boolean onTouch(View v, MotionEvent event) {

            //MainActivity.finish();
           MainActivity.setVisible(false);
            return false;
        }
    });
}

所以我尝试了setVisible函数,但整个屏幕都被黑了,之前的UI没有出现。

如何在不使用finish()函数的情况下返回上一屏幕?

1 个答案:

答案 0 :(得分:0)

use setFlag() method.

//like this

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK)