几秒钟后在Webview中加载URL

时间:2012-07-13 07:11:00

标签: android android-layout android-webview handler

我正在Android中创建一个应用程序。它有一个名为main.xml的布局

main.xml中:

<ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/splashscreen" />

mainActivity.java:

public class MainActivity extends WebViewActivity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        DisplayMetrics displaymetrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
        int height = displaymetrics.heightPixels;
        int wwidth = displaymetrics.widthPixels;
        setContentView(R.layout.main);
        final ImageView imgview=(ImageView)findViewById(R.id.imageView1);
        imgview.setLayoutParams(new LinearLayout.LayoutParams(wwidth, 
                height, 0.0F));
        int DELAY = 6000;

        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {            
            public void run()
            { 
                WebViewActivity.loadurl("file:///android_asset/www/index.htm");                
            }
        }, DELAY);

    }
}

最初要加载main.xml,6秒后我想在webview中加载url 。 WebViewActivity有加载代码......

我已按照上述编码......

结果:最初main.xml正在加载完美...但是在6秒后调用了loadurl方法但是没有删除main.xml。怎么做?

注意: WebViewActivity具有webview布局。

4 个答案:

答案 0 :(得分:1)

我已按照以下编码...我没有使用main.xml页面...直接在webview中加载... 工作良好: - )

public class MainActivity extends WebViewActivity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        WebViewActivity.loadurl("file:///android_asset/www/splashscreen.png");
        int DELAY = 6000;

        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {            
            public void run()
            { 
                 WebViewActivity.loadurl("file:///android_asset/www/index.htm");
            }
        }, DELAY);

    }
}

答案 1 :(得分:0)

你应该在main.xml中有一个webview视图......

或者你制作一个anoher layout xml并使用setContentView(R.layout.anotherlayoutxml);

答案 2 :(得分:0)

您的 mainActivity 使用setContentView(layout)来定义与此活动相关的XML。您的main.xml只包含一个正确显示的图像。在WebViewActivity中加载URL并保持这种状态,因为没有显示

,所以不会做太多

解决方案:

1) 启动一个新的WebViewActivity:

handler.postDelayed(new Runnable() {            

        public void run()
        { 
            Intent myIntent = new Intent(this, WebViewActivity.class);
            startActivity(myIntent);
            finish();
        }
    }, DELAY); 

为您的WebViewActivity创建XML,包括WebView 在OnCreate中:

 myWebView = (WebView) findViewById(R.id.myWebView);
 myWebView.loadurl("file:///android_asset/www/index.htm"); 

注意:在这种情况下,mainActivity不必延伸到WebViewActivity

2)setVisibility()

<强> main.xml中

<ImageView />
<WebView 
       id:myWebView
       visibility:invisible />

在OnCreate中,您已经可以将URL加载到WebView中。处理程序只需在您想要的时候显示视图。

handler.postDelayed(new Runnable() {            
        public void run()
        { 
            myWebView.setVisibility(View.VISIBLE);
        }
    }, DELAY);

答案 3 :(得分:0)

You can do it like this 

// first add a progress dialog

ProgressDialog dialog ; 

//Initialize in OnCreate

dialog = new ProgressDialog(this);

//and call the following function 

        display();

private void display() {
// TODO Auto-generated method stub
new CountDownTimer(6000, 1000) {

public void onTick(long millisUntilFinished) {
// mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
dialog.show();
}

public void onFinish() {

dialog.dismiss();
}
}.start();

}