在listview的scrollview中无法单击TextView?

时间:2013-04-30 11:47:47

标签: android

我的膨胀布局: -

<FrameLayout
    android:layout_width="100dip"
    android:layout_height="100dip"
    android:gravity="center"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/UserImageView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/no_image"
        android:gravity="center_horizontal|bottom"
        android:orientation="vertical"
        android:scaleType="fitXY" >
    </ImageView>

    <TextView
        android:id="@+id/UserTitleTextView"
        android:layout_width="fill_parent"
        android:layout_height="25dip"
        android:layout_gravity="bottom"
        android:background="@android:color/transparent"
        android:gravity="center_vertical"
        android:paddingLeft="5dip"
        android:paddingRight="28dip"
        android:singleLine="true"
        android:text=""
        android:textColor="@android:color/white"
        android:textSize="16sp" />

    <ImageView
        android:id="@+id/UserRecentActivityIcon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_marginBottom="10dip"
        android:layout_marginRight="8dip"
        android:gravity="bottom|right" />

    <ImageView
        android:id="@+id/redDotActivityIconInflateGroupDetail02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_marginBottom="30dip"
        android:layout_marginRight="4dip"
        android:gravity="bottom|right"
        android:src="@drawable/red_dot_icon" />
</FrameLayout>

<RelativeLayout
    android:id="@+id/RelativeLayoutMain"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginBottom="5dip"
    android:layout_marginLeft="10dip"
    android:layout_marginTop="5dip"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/activityTitleTextViewGroupDetail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingRight="5dip"
        android:singleLine="true"
        android:text=""
        android:textColor="@android:color/white"
        android:textSize="15sp" />

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/thumbUrlImageView"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_alignParentRight="true" >
        </ImageView>
    </RelativeLayout>

    <ImageView
        android:id="@+id/ArrowImageView"
        android:layout_width="15dip"
        android:layout_height="20dip"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:background="@drawable/arrow1" />

    <ScrollView
        android:id="@+id/ScrollMain"
        android:fillViewport="true"
        android:clickable="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/activityTitleTextViewGroupDetail"
        android:layout_marginTop="3dip" >

        <com.example.app.EllipsizingTextView
            android:id="@+id/messageTextViewGroupDetail"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:paddingRight="10dip"
            android:text=""
            android:textColor="@android:color/white"
            android:textSize="14.5sp" />
    </ScrollView>

    <TextView
        android:id="@+id/StartDateTextViewGroupDetail02"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/ScrollMain"
        android:layout_marginRight="20dip"
        android:layout_marginTop="5dip"
        android:text=""
        android:textColor="@android:color/white"
        android:textSize="12sp" />

    <TextView
        android:id="@+id/dateTextViewGroupDetail"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_below="@+id/StartDateTextViewGroupDetail02"
        android:text=""
        android:textColor="@android:color/white"
        android:textSize="12sp" />
</RelativeLayout>

请查找附件快照enter image description here

6 个答案:

答案 0 :(得分:3)

基本上在Android中,不建议使用嵌套的可滚​​动组件,但您可以使用以下代码段::

textView.setOnTouchListener(new ListView.OnTouchListener() {
        @Override
        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().getParent().getParent()
                        .requestDisallowInterceptTouchEvent(true);
                break;
            case MotionEvent.ACTION_UP:
                // Allow ScrollView to intercept touch events.
                v.getParent().getParent()
                        .requestDisallowInterceptTouchEvent(false);

                    break;
            }
            return true;
        }
    });

然后把setOnClickListener放到同一个textView中,然后textview可滚动也是可以搞定的。

答案 1 :(得分:0)

您应该将scrollView属性中的TextView设置为android:clickable="true"。从scrollview

中删除cilckable="true"

编辑:

在TextView中设置以下属性:

android:maxLines = "AN_INTEGER"

android:scrollbars = "vertical"

然后使用:

textView.setMovementMethod(new ScrollingMovementMethod())

代码。

答案 2 :(得分:0)

添加  机器人:可点击=“假”  机器人:可聚焦= “假”

答案 3 :(得分:0)

尝试在文字视图中添加android:duplicateParentState=true

同时将clickable设为true textview

答案 4 :(得分:0)

为何选择scrollview ???在文本视图中使用android:inputType="textMultiLine"

答案 5 :(得分:0)

尝试将以下属性添加到ScrollView ...

android:fillViewport="true"

...并将以下内容添加到ScrollView的任何子项中......

android:clickable="true"

这应该允许您的EllipsizingTextView根据需要填充ScrollView区域。