我有WebView
我添加Activity
setContentView()
。在这个WebView
我有一个按钮,在当前的Activity
之上打开另一个startActivityForResult()
,这个Activity
在完成任务后自行解散,我们返回到第一个Activity
(WebView
的那个)。当返回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);
这比我的实际代码简单得多,但它很好地复制了结果。