2012-07-13 57 views
1

我在Android中创建了一个应用程序。它有一个名为布局main.xml中几秒后在Webview中加载网址

的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。 WebViewActivity有代码加载...

我按照上面的编码...

结果:最初main.xml中加载完美......但在6秒后使用loadURL方法被调用,但主。 xml不会被删除。这个怎么做?

注意: WebViewActivity具有webview的布局。

回答

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); 

    } 
} 
0

,你应该在你的main.xml网页视图视图...

,或者你让anoher布局XML和使用的setContentView(R.layout.anotherlayoutxml);

+0

检查我的答案... – Ponmalar 2012-07-13 09:13:05

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); 

创建一个XML您WebViewActivity包括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你已经可以载入您的网址进入你的WebView。处理程序只会在您想要时显示视图。

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

我的主要布局没有webview。必须从WebViewActivity添加webview。 – Ponmalar 2012-07-13 08:39:26

+0

检查我的答案... – Ponmalar 2012-07-13 09:13:17

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(); 

} 
+0

我想显示图像适合屏幕,而不是进度条,然后加载一个URL – Ponmalar 2012-07-13 08:40:55

+0

检查我的答案... – Ponmalar 2012-07-13 09:12:45

+0

不错Ponmalar你soled问题由你自己 – 2012-07-13 09:24:01