2016-03-02 72 views
0

我想要一個左側的垂直ListView和一個右側的GridView。兩者都由ArrayAdapters支持。我已經嘗試了RelativeLayout和LinearLayout,並且GridView甚至沒有調用適配器(除非垂直堆疊)。我把一個Log.v放在帶有父ID的適配器中來證明它。使用TableLayout,網格的適配器會設置字段,但網格仍不可見。這兩個視圖確實在其中顯示了相同的TextView項目。剩下的片段顯示正常。 ListView總是顯示。試圖在列表視圖旁顯示一個GridView。 GridView不顯示

的XML使用TableLayout:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/fragment_course" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.hubbardsoftware.racetac.CourseActivityFragment" 
tools:showIn="@layout/activity_course"> 

<fragment android:name="com.hubbardsoftware.racetac.TimerFragment" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    tools:layout="@layout/fragment_timer" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#ff000000" 
    android:textStyle="bold" 
    android:text="@string/course"/> 

<TableLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    > 

    <TableRow> 
    <ListView 
     android:id="@+id/listview_course" 
     android:layout_column="1" 
     /> 

    <GridView 
     android:id="@+id/gridview_course" 
     android:layout_column="2" 
     android:numColumns="auto_fit" 
     android:stretchMode="none" /> 
    </TableRow> 
</TableLayout> 

和碎片代碼:

 // Setup the List of Marks in the course. 
    ArrayList<Mark> course = appData.getCourse(); 
    ArrayList<Mark> marks = appData.getMarks(); 

    Log.v(LOG_TAG, "Adapters: "+course.size()+" "+marks.size()); 
    courseAdapter = new CourseAdapter(getActivity(), R.id.listview_course, R.layout.list_item_mark_name, course); 
    ListView listView = (ListView) rootView.findViewById(R.id.listview_course); 
    listView.setAdapter(courseAdapter); 

    // Setup the grid of Marks to choose from 
    marksAdapter = new CourseAdapter(getActivity(), R.id.gridview_course, R.layout.list_item_mark_name, marks); 
    GridView gridView = (GridView) rootView.findViewById(R.id.gridview_course); 
    gridView.setAdapter(marksAdapter); 

這list_item_mark_name的佈局:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/list_item_mark_name_name" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:fontFamily="Roboto" 
     android:textStyle="bold" 
     android:textColor="#ff000000" 
     android:text="name" 
    /> 

我可以讓他們垂直堆疊,或者甚至讓他們在同一個空間彼此重疊,但沒有並肩的歡樂。我已經廣泛地使用重量,相對定位(toRightOf等等),並且沒有去。

我也只是試圖給網格它自己的適配器,並創建另一個網格的不同名稱的TextView,無濟於事。

想法?謝謝!

回答

0

我似乎發現了這個問題。我刪除了該行:

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

從我用來填充GridView的單元格的TextView項目的頂部。 (我沒有從我的文件中剪切並粘貼它,這會教會我包括所有內容。)突然間我的網格出現了。它從來沒有造成我的ListView項目的問題。

我現在可以創建一個更漂亮的佈局組,並讓它們對齊並可見。

感謝任何花時間研究此事的人。