2011-11-03 245 views
-1

我有任務 - 我需要創建應用程序給用戶一個WebView,並在2分鐘後關閉。我有此代碼:如何在我的應用程序中關閉WebView?

package com.nda.main; 

import java.util.Timer; 
import java.util.TimerTask; 

import android.app.Activity; 
import android.os.Bundle; 
import android.os.Handler; 
import android.os.SystemClock; 
import android.util.Log; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class MainActivity extends Activity{ 

    WebView view; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.research); 

     view=(WebView)findViewById(R.id.webViewResearch); 
     view.loadUrl("http://www.google.com"); 

     Timer timer=new Timer(); 
     timer.schedule(new TimerTask(){ 

      @Override 
      public void run() { 
       // TODO Auto-generated method stub 
       MainActivity.this.finish(); 
      } 


     }, 120000); 
} 
} 

但我有2個問題:

1)活動將不會關閉,但計時器事件會。如果我不使用view.loadUrl(),則Activity將關閉。 2)我如何爲url輸入提供用戶字段?我可以在應用程序中插入EditText,但可能存在更容易的意思?

謝謝。

+0

你試過先摧毀webview嗎? MainActivity.this.view.destroy() –

+0

是的,但我得到異常和應用程序將在這種情況下關閉。 – user1023177

+0

錯誤消息說什麼? –

回答

0

也許你應該在UI線程上完成你的活動。 試試這個:

Timer timer = new Timer(); 
    timer.schedule(new TimerTask(){ 
     @Override 
     public void run() { 
      runOnUiThread(new Runnable() { 
       @Override 
       public void run() { 
        MainActivity.this.finish(); 
       } 
      }); 
     } 
    }, 120000); 
相關問題