打开另一个活动后,WebView会消失一秒钟

时间:2013-11-19 12:03:31

标签: android webview

我有WebView我添加Activity setContentView()。在这个WebView我有一个按钮,在当前的Activity之上打开另一个startActivityForResult(),这个Activity在完成任务后自行解散,我们返回到第一个ActivityWebView的那个)。当返回Activity时,WebView消失一会儿,我们会看到Activity的背景(它会在一秒后回来)。这很烦人,看起来很奇怪。我不确定它为什么会发生,但它与WebView的失效有关,它与INVISIBLE有一段时间(这可能是android呈现其视图或其他东西的方式.. )。有没有解决这个问题?

此行为仅在启用硬件加速时发生,禁用它可解决问题,但我需要WebView的硬件加速。

编辑:部分代码

// A self dismissing activity
public class TestActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ImageView v = new ImageView(getApplicationContext());
        v.setBackgroundColor(0xFFFF0000);
        setContentView(v);

        Handler handler = new Handler(Looper.getMainLooper());
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
            TestActivity.this.finish();
            }
        }, 1000);
    }
}

// Code to show the WebView and then the activity, stick this somewhere in a different Activity
WebView wv = new WebView(getApplicationContext());
wv.loadUrl("www.google.com");
addContentView(wv, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT));

(new Handler(Looper.getMainLooper())).postDelayed(new Runnable() {
    @Override
    public void run() {
        Intent I = new Intent(getApplicationContext(), TestActivity.class);
        startActivityForResult(I, 255);
    }
 }, 1000);

这比我的实际代码简单得多,但它很好地复制了结果。

0 个答案:

没有答案