【问题标题】:How to exit the Activity UI without calling finish()如何在不调用 finish() 的情况下退出 Activity UI
【发布时间】:2018-03-15 16:48:22
【问题描述】:

我将 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 的 Cancel 按钮时,该库将使用 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() 函数的情况下返回上一个屏幕?

【问题讨论】:

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


    【解决方案1】:
    use setFlag() method.
    
    //like this
    
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      • 2015-07-14
      • 2012-07-03
      相关资源
      最近更新 更多