2012-09-09 34 views
4

我有一個包含TabHost的XML文件。我直接通過右鍵單擊佈局映射 - >新建 - > Android XML - > TabHost創建它。代碼似乎沒問題,但是無論何時我在Eclipse中進行圖形佈局,它都會給我帶來錯誤(請參閱標題)。我正在使用Android 2.2。這是我的XML代碼:無法創建標籤內容,因爲無法在Android Eclipse中找到id爲-1的XML錯誤?

<?xml version="1.0" encoding="utf-8"?> 

<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/tabhost" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 
     </TabWidget> 

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" > 

      <LinearLayout 
       android:id="@+id/tab1" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" > 
      </LinearLayout> 

      <LinearLayout 
       android:id="@+id/tab2" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" > 
      </LinearLayout> 

      <LinearLayout 
       android:id="@+id/tab3" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" > 
      </LinearLayout> 
     </FrameLayout> 
    </LinearLayout> 

</TabHost> 
+0

我在ADT20中也有這樣的佈局。你的不給我錯誤。你使用什麼版本? –

+0

我有最新的(我認爲20.0.3),但我設法通過清理項目並重新啓動eclipse來解決這個問題。它在那之後很好地工作,顯然有些佈局文件沒有正確加載或者什麼。 – ZimZim

回答

1

我只是在此提交的安卓工具bug report

The following users and I have seen this error crop up when using the Graphical Layout tab of the layout editor, even on the simplest and correct layouts.

"Could not create tab content because could not find view with id -1"

I'm seeing it in API20 when I including another xml file as a tab. If I copy and paste the contents of the include file, the error is not shown.

See the following other reports of this error:

Could not create tab content because could not find view with id -1 XML error in Android Eclipse?

https://stackoverflow.com/a/4807779/403455 (See comment on raybritton's proposed answer)

https://groups.google.com/d/topic/android-developers/DRY4fsbwgDA/discussion

4

對我來說是給ID給每個選項卡的視圖解決方案。在以下示例中,需要爲每個textView提供id(如android:id =「@ + id/tab1」...)

<?xml version="1.0" encoding="utf-8"?> 
<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/tabhost" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 
<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <TabWidget 
     android:id="@android:id/tabs" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 

     <TextView 
      android:tag="tab1" 
      android:text="@string/tab1" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:textSize="12sp" 
      /> 
     <TextView 
      android:tag="tab2" 
      android:text="@string/tab2" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:textSize="12sp" 
      /> 
     <TextView 
      android:tag="tab3" 
      android:text="@string/tab3" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:textSize="12sp" 
      /> 
     <TextView 
      android:tag="tab4" 
      android:text="@string/tab4" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:textSize="12sp" 
      /> 
     <TextView 
      android:tag="tab5" 
      android:text="@string/tab5" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:textSize="12sp" 
      /> 

    </TabWidget> 

    <FrameLayout 
     android:id="@android:id/tabcontent" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

     <TextView 
      android:id="@+id/tab1" 
      android:text="Hallo3" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" /> 
     <TextView 
      android:id="@+id/tab2" 
      android:text="Hallo2" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" /> 
     <TextView 
      android:id="@+id/tab3" 
      android:text="Hallo3" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" /> 
     <TextView 
      android:id="@+id/tab4" 
      android:text="Hallo3" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" /> 
     <TextView 
      android:id="@+id/tab5" 
      android:text="Hallo3" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" /> 

    </FrameLayout> 
</LinearLayout> 
</TabHost> 
相關問題