2017-07-15 45 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()被调用。 –