2011-06-03 45 views
1

我不知道爲什麼我的webview無法加載到我的tabhost/tabwidget中。對於tabhost/tabwidget,我使用的是Android Developer提供的教程。另外,在我的logcat中,警告似乎是在tab1Activity.java,將警告指向「wv.loadDataWithBaseURL(」http://lovetherings.livejournal.com/961.html「,myString,」text/html「, 「UTF-8」,「about:blank」);「無法在標籤視圖中加載webview

以下是我的代碼。誰能幫我?非常感謝! :d

這裏是我的main.xml

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="5dp"> 

    <TabWidget 
     android:id="@android:id/tabs" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     /> 
    <FrameLayout 
     android:id="@android:id/tabcontent" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     > 
     <WebView 
      android:id="@+id/webview" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      /> 

     </FrameLayout> 
</LinearLayout> 

我的主要活動

public class HelloTabWidgetMain extends TabActivity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Resources res = getResources(); // Resource object to get Drawables 
    TabHost tabHost = getTabHost(); // The activity TabHost 
    TabHost.TabSpec spec; // Resusable TabSpec for each tab 
    Intent intent; // Reusable Intent for each tab 

    // Create an Intent to launch an Activity for the tab (to be reused) 
    intent = new Intent().setClass(this, ArtistsActivity.class); 

    // Initialize a TabSpec for each tab and add it to the TabHost 
    spec = tabHost.newTabSpec("tab1").setIndicator("tab1", 
         res.getDrawable(R.drawable.ic_tab_tab1)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

    // Do the same for the other tabs 
    intent = new Intent().setClass(this, tab2Activity.class); 
    spec = tabHost.newTabSpec("tab2").setIndicator("tab2", 
         res.getDrawable(R.drawable.ic_tab_tab2)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, tab3Activity.class); 
    spec = tabHost.newTabSpec("tab3").setIndicator("tab3", 
         res.getDrawable(R.drawable.ic_tab_tab3)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

    tabHost.setCurrentTab(0); 
} 

}

和我的標籤活動(在這裏我想我的WebView要顯示的內容)

public class tab1Activity extends Activity{ 

WebView wv; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    try { 
    URL url = new URL("http://lovetherings.livejournal.com/961.html"); 

    // Make the connection 
    URLConnection conn = url.openConnection(); 
    BufferedReader reader = new BufferedReader(
     new InputStreamReader(conn.getInputStream())); 

    // Read the contents line by line (assume it is text), 
    // storing it all into one string 
    String content =""; 
    String line = reader.readLine(); 
    while (line != null) { 
     content += line + "\n"; 
     line = reader.readLine(); 
    } 
    reader.close(); 

    String myString = content.substring(content.indexOf("<newcollection>")); 

    int start = myString.indexOf("<newcollection>"); 
    if (start < 0) { 
     Log.d(this.toString(), "collection start tag not found"); 
    } 
    else { 
     int end = myString.indexOf("</newcollection>", start) + 8; 
     if (end < 0) { 
      Log.d(this.toString(), "collection end tag not found"); 
     } else { 
      myString = "<html><body>" + myString.substring(start, end) + "</body></html>"; 
     } 

     WebView wv = (WebView)findViewById(R.id.webview); 
     wv.loadDataWithBaseURL("http://lovetherings.livejournal.com/961.html", myString, "text/html", "UTF-8", "about:blank"); 
    } 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
    // Display the string in txt_content 
    //TextView txtContent = (TextView)findViewById(R.id.txt_content); 
    //txtContent.setText(myString); 
    }  
}  

}

請幫幫我!提前致謝!

回答

0

在您的佈局XML中,您的根節點(LinearLayout)需要一個名稱空間屬性。插入xmlns:android =「http://schemas.android.com/apk/res/android」作爲它的第一個屬性。我猜測你的佈局沒有正確地膨脹,當你試圖用WebView做某件事時會導致錯誤。

+0

不,我確實有那個根節點。只是當我複製到這裏時,它消失了,我可能錯過了複製根節點。 – Winona 2011-06-03 15:33:58