RelativeLayout中的SwipeRefreshLayout - 将点击次数传递给上一个兄弟

时间:2017-03-14 19:02:13

标签: android relativelayout swiperefreshlayout

我有以下布局:

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

    <TextView
        android:id="@+id/message"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.v4.widget.SwipeRefreshLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </android.support.v4.widget.SwipeRefreshLayout>

</RelativeLayout>

活动:

TextView tv = (TextView) findViewById(R.id.message);
tv.setText(Html.fromHtml(getResources().getString(R.string.message));

在strings.xml中

<string name="message"><![CDATA[Visit <a href="http://example.com">this site</a>]]></string>

单击TextView中的url不起作用,因为所有触摸都被SwipeRefreshLayout拦截。

如何在TextView的网址中为cliks设置SwipeRefreshLayout透明,但同时让滑动工作?

1 个答案:

答案 0 :(得分:0)

是的,仅将TextView作为ID,然后将onClick事件仅作为TextView。您可以在活动或片段中调用此事件。

[更新]

在XML中,尝试使用此属性以及Textview和swipelayout之间的一些边距

    android:autoLink="web"
    android:linksClickable="true"
    android:marginBottom="10dp"