2017-07-15 34 views
0

我想在按下按鈕時啓動Main2Activity的任務(加載WebView),但不顯示Main2Activity的屏幕,直到onPageFinished()被調用。我有一些想法來通過Intents獲得這個,但它似乎不起作用。 這裏我的代碼:如何使用線程啓動活動任務?

MainActivity.java

public class MainActivity extends AppCompatActivity { 


Handler handler = new Handler(){ 
    @Override 
    public void handleMessage(Message msg) { 
     super.handleMessage(msg); 
     Intent intent = new Intent(MainActivity.this,Main2Activity.class); 
     startActivity(intent); 
    } 
}; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    final Button button = (Button)findViewById(R.id.Button); 


    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      final Runnable runnable = new Runnable() { 
       @Override 
       public void run() { 
        handler.sendEmptyMessage(0); 
       } 

      }; 
      Thread thread = new Thread(runnable); 
      thread.start(); 
     } 
    } 
    ); 
} 

} 

Main2Activity.java

public class Main2Activity extends AppCompatActivity { 

Intent intent; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main2); 
    final WebView webView = (WebView)findViewById(R.id.webview); 
    webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(webView, url); 
      intent.putExtra("DONE",1); 

      // Toast.makeText(getApplicationContext(), "Done!", 
      //Toast.LENGTH_SHORT).show(); 
} 
    }); 
    webView.loadUrl("file:///android_asset/2.2.html"); 
} 
} 

這是可能的使用意圖或我有一些其他的技術來做到這一點? 我如何實現這一目標?

謝謝大家。

回答

0

我想你應該直接進入Main2Activity按鈕點擊,而不需要調用MainActivity中的任何線程。

然後在Main2Activity中顯示一個圖像或東西,直到onPageFinished()被調用。

+0

感謝您的反饋,但我想留在MainActivity中,直到Main2Activity中的onPageFinished()被調用。 –