Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用线程启动活动任务?_Java_Android_Multithreading_Android Intent_Android Handler - Fatal编程技术网

Java 如何使用线程启动活动任务?

Java 如何使用线程启动活动任务?,java,android,multithreading,android-intent,android-handler,Java,Android,Multithreading,Android Intent,Android Handler,我想在按下按钮时启动Main2活动的任务(加载WebView),但在调用onPageFinished()之前不显示Main2活动的屏幕。我有一些想法得到这个意图,但它似乎不起作用。 这是我的代码: MainActivity.java: public class MainActivity extends AppCompatActivity { Handler handler = new Handler(){ @Override public void handleMessage

我想在按下按钮时启动Main2活动的任务(加载WebView),但在调用onPageFinished()之前不显示Main2活动的屏幕。我有一些想法得到这个意图,但它似乎不起作用。 这是我的代码:

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");
}
}
这是否可能使用意图,或者我必须使用其他技术来实现? 我怎样才能达到这个目标


谢谢大家。

我认为您应该在单击按钮时直接转到Main2活动,而无需调用MainActivity中的任何线程


然后在Main2Activity中显示图像或其他内容,直到调用onPageFinished()为止。

谢谢您的反馈,但我希望在调用Main2Activity中的onPageFinished()之前一直停留在MainActivity中。