2013-01-16 89 views
0

我有一個自定義ListActivity中,我有一個自定義ListAdapter,膨脹列表中的每個項目的佈局。在Eclipse的可視化編輯器的佈局看起來像這樣 Eclipse's layout查看消失時膨脹

這是由以下代碼製作:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/largeFrame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <RelativeLayout 
     android:id="@+id/RelativeLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginLeft="1dp" 
     android:layout_marginRight="3dp" 
     android:layout_marginTop="5dp" 
     android:background="@color/mainBack" 
     android:orientation="vertical" > 


     <View 
      android:id="@+id/imageView1" 
      android:layout_width="5dp" 
      android:layout_height="fill_parent" 
      android:layout_alignParentLeft="false" 
      android:layout_alignParentTop="false" 
      android:layout_marginLeft="2dp" 
      android:background="@android:color/darker_gray" /> 

     <TextView 
      android:id="@+id/newtimeslot_class" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_marginLeft="4dp" 
      android:layout_marginTop="10dp" 
      android:layout_toRightOf="@+id/imageView1" 
      android:text="Large Text" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:textColor="@android:color/black" /> 

     <View 
      android:id="@+id/imageView2" 
      android:layout_width="wrap_content" 
      android:layout_height="2dp" 
      android:layout_alignRight="@+id/newtimeslot_class" 
      android:layout_below="@+id/newtimeslot_class" 
      android:layout_toRightOf="@+id/imageView1" 
      android:background="@android:color/darker_gray" /> 

     <TextView 
      android:id="@+id/newtimeslot_time" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@+id/newtimeslot_class" 
      android:layout_alignParentRight="true" 
      android:layout_marginRight="5dp" 
      android:text="Medium Text" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="#646464" /> 

     <TextView 
      android:id="@+id/newtimeslot_location" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_below="@+id/imageView2" 
      android:layout_marginRight="5dp" 
      android:text="Medium Text" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="#646464" /> 

     <TextView 
      android:id="@+id/newtimeslot_comment" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentRight="true" 
      android:layout_below="@+id/newtimeslot_location" 
      android:layout_marginBottom="10dp" 
      android:layout_marginRight="5dp" 
      android:layout_marginTop="2dp" 
      android:text="Medium Text" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="#646464" /> 
    </RelativeLayout> 

</FrameLayout> 

但不幸的是,當我在Android設備上運行此,行至左完全消失。相反,它看起來像

enter image description here

我剛做平常的方面對充氣它,我只訪問TextView的對象。所以我只是想知道可能會發生什麼,如果有人能幫我擺脫這個混亂?

乾杯

編輯:通貨膨脹代碼

@Override 
public View newView(Context context, Cursor cursor, ViewGroup parent) { 
    final View view = mInflater.inflate(R.layout.timeslotlayout_new, parent, false); 

    return view; 
} 
+0

請張貼充氣代碼 –

+0

剛剛這樣做,覆蓋是一個超類CursorAdapter –

+1

請張貼更多的代碼。我認爲你正在使用overriden方法來擴充佈局,它是'public View getView(int p_position,View p_convertView,ViewGroup p_parent)'。 – GrIsHu

回答

0

也許你錯過了設置這樣的:通過

android:layout_alignParentLeft="true" 

而且,:

android:layout_alignParentLeft="false" 

本方式,android:orientation="vertical"不適用於相對佈局。它僅適用於LinearLayout

而到了newtimeslot_timeTextView變化

android:layout_toRightOf="@+id/imageView1" 

android:layout_toRightOf="@id/imageView1" 

希望它能幫助!

乾杯!

+0

修正了所有這些問題,沒有絲毫改變。這很奇怪。爲嘗試而歡呼! –

1

我懷疑參考文獻@android:color/darker_gray是問題所在。

可能是在某些設備上,該值不存在?!?(它可以是另一個名稱爲實例)

嘗試的背景屬性設置爲一個顏色(而不是一個機器人顏色參考這樣#00000表示黑色(或選擇另一自定義顏色像這樣#A9A9A9深灰):

android:background="#A9A9A9" 

/或/

爲大多數基本色創建一個XML文件,例如完成HERE,這樣您就可以確保設備之間的顏色不會改變,最重要的是,它們將存在於您的應用程序的所有設備上。

所以,如果你這樣做(見鏈接),你可以創建這樣的顏色(XML文件的名稱不會在所有問題):

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="Black">#000000</color> 
    <color name="DarkGray">#A9A9A9</color> 
</resources> 

並在以下方式中引用它:

android:background="@color/DarkGray" 

注: 不論這解決您的問題或沒有,我強烈建議你按照這個方式是在安全方面。