scrollView无法在GridView中与TableLayout一起使用scrollView

时间:2014-04-25 06:44:20

标签: android android-scrollview

我正在使用ScrollView进行tablelayout。在GridView代码TableLayout中也有ScrollView但我没有获得GridView GridView。请帮助我。问题出现在 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scrollbars="horizontal" > <TableLayout android:id="@+id/TableLayout1" android:layout_width="532dp" android:layout_height="257dp" android:layout_gravity="right" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:scrollbarAlwaysDrawVerticalTrack="true" tools:context=".Intcalc" > <TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="10dp" > <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="To Date" android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText android:id="@+id/edttodate" android:layout_width="160dp" android:layout_height="wrap_content" android:ems="10" android:inputType="date" android:onClick="selectDate" /> <ImageButton android:id="@+id/imageButton2" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="left" android:onClick="selectDate" android:src="@android:drawable/btn_star" /> </TableRow> <GridView android:id="@+id/gridView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:numColumns="3" > </GridView> </TableLayout> </ScrollView>

{{1}}

4 个答案:

答案 0 :(得分:0)

Gridview已经有了自己的滚动条,所以如果你再次将它包围在另一个滚动条中,它将会很痛苦。

答案 1 :(得分:0)

你永远不会在android中使用两个滚动的第一件事。滚动视图也提供滚动和网格视图也提供滚动。在您的情况下,您需要使用滚动视图网格视图来改善您的逻辑。

答案 2 :(得分:0)

检查以下链接: -

How can I put a ListView into a ScrollView without it collapsing?

它解决了我在列表视图上的问题,请检查并实现它。

答案 3 :(得分:0)

我正在使用此逻辑感谢您的帮助

         GridView gridView=(GridView)findViewById(R.id.gridView1);

      gridView.setOnTouchListener(new GridView.OnTouchListener() 
      {

            public boolean onTouch(View v, MotionEvent event)
            {
                int action = event.getAction();
                switch (action) {
                case MotionEvent.ACTION_DOWN:
                    // Disallow ScrollView to intercept touch events.
                    v.getParent().requestDisallowInterceptTouchEvent(true);
                    break;

                case MotionEvent.ACTION_UP:
                    // Allow ScrollView to intercept touch events.
                    v.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
                }

                // Handle ListView touch events.
                v.onTouchEvent(event);
                return true;
            }
        });