1

我目前在滚动视图中有一个网格视图,我想在其中显示来自网格视图内的二维数组的信息并使其可滚动。我为 gridView 创建了一个适配器来处理这项工作,因为我想稍后将它用于其他布局。我遇到的问题是只有数组的第一行和第二行的一部分显示在网格视图中。这是我创建的适配器的代码,我觉得问题出在其中的某个地方:

public class GridViewAdapter extends BaseAdapter
{
    private Context context;
    String[][] gridContent;
    int rowPosition, columnPosition, count;


    /**
     * 
     */
    public GridViewAdapter(Context c, String[][] content) 
    {
        // TODO Auto-generated constructor stub
        context = c;
        count = 0;
        gridContent = new String[content.length][content[0].length];
        for (int i = 0; i < gridContent.length; i++)
        {
            for (int j = 0; j < gridContent[i].length; j++)
            {
                gridContent[i][j] = content[i][j];
                count++;
            }
        }
        rowPosition = 0;
        columnPosition = 0;
    }

    public int getCount()
    {
        return count;
    }

    public int getRowCount()
    {
        return gridContent.length;
    }

    public int getColumnCount()
    {
        return gridContent[0].length;
    }

    public Object getItem(int rowNum, int columnNum)
    {
        return gridContent[rowNum][columnNum];
    }

    public View getView(int position, View view, ViewGroup group)
    {
        TextView textView;
        if (view == null)
        {
            textView = new TextView(context);
            //textView.setPadding(8, 8, 8, 8);
        }
        else
        {
            textView = (TextView) view;
        }
        columnPosition = position % gridContent[0].length;
        rowPosition = (position - columnPosition)/gridContent[0].length;
        textView.setText(gridContent[rowPosition][columnPosition]);
        //textView.setTextColor(000000);
        //textView.setTextSize(13);     

        return textView;
    }


    public Object getItem(int position) 
    {
        return null;
    }

    public long getItemId(int position) 
    {
        return 0;
    }

}

任何帮助将不胜感激。谢谢你

我不明白为什么它在第一行和第二行的一部分工作得很好,但后来它被切断了。这是我的滚动视图和网格视图的 xml 代码:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/verticalScrollView"
        android:layout_width="fill_parent"
        android:layout_height="400dp"
        android:overScrollMode="always"
        android:isScrollContainer="true"
        android:scrollbarAlwaysDrawVerticalTrack="true"
        android:scrollbars="vertical"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/networkResults" >

        <GridView
            android:id="@+id/scheduleGrid"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:gravity="left"
            android:horizontalSpacing="10dp"
            android:isScrollContainer="true"
            android:numColumns="5"
            android:stretchMode="columnWidth"
            android:verticalSpacing="10dp" >

        </GridView>
    </ScrollView>
4

0 回答 0