使用Recyclerview,Android嵌套Scrollview无法顺畅滚动?

时间:2015-03-17 14:14:58

标签: android xml

我有三个包含嵌套ScrollView内容的Recyclerview。什么方式可以使它平稳,更快?提前致谢 我已经尝试过scrollview,但结果是一样的。有没有替代方案或解决方案。

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/scrollview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:background="#11180e"
    tools:context="com.dodock.footylightx.android.controller.livescoredetails.lineups.LineupsFragment">

    <LinearLayout
        android:descendantFocusability="blocksDescendants"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <!--android:weightSum="2"-->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#385401"
            android:orientation="horizontal"
            android:weightSum="2">

            <TextView
                style="@style/HeaderTextStyle"
                android:id="@+id/home_team_name_tv"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight="1"
                android:gravity="left|center_vertical"
                android:textColor="@color/White" />

            <TextView
                style="@style/HeaderTextStyle"
                android:id="@+id/home_team_formation"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight="1"
                android:gravity="right|center_vertical"
                android:textColor="@color/White" />

        </LinearLayout>


        <android.support.v7.widget.RecyclerView
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            android:id="@+id/line_up_local_team_recyclerview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_local_field" />
        <!--android:layout_weight="1"-->


        <android.support.v7.widget.RecyclerView
            android:id="@+id/line_up_visitor_team_recyclerview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/ic_visitor_field" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#385401"
            android:orientation="horizontal"
            android:weightSum="2">

            <TextView
                style="@style/HeaderTextStyle"
                android:id="@+id/away_team_name_tv"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight="1"
                android:gravity="left|center_vertical"
                android:textColor="@color/White" />

            <TextView
                style="@style/HeaderTextStyle"
                android:id="@+id/away_team_formation"
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:layout_weight="1"
                android:gravity="right|center_vertical"
                android:textColor="@color/White" />

        </LinearLayout>
        <!--android:layout_weight="1"-->

        <TextView

            style="@style/HeaderTextStyle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/lineup_textview_bg"
            android:text="Bench"
            android:textAlignment="center"
            android:textColor="@color/White" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/substitution_home_recyclerview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#385401" />


    </LinearLayout>


</android.support.v4.widget.NestedScrollView>

3 个答案:

答案 0 :(得分:4)

替换&#34;,&#34;使用&#34; +&#34;。这就是你如何在Java中连接。否则,您要告诉它额外param并使makeText()函数无效

Toast.makeText(MainActivity.this, "Selected Os Position:" + position +
        "Select Os :"+osList[position], Toast.LENGTH_SHORT).show();

将来,请解释您遇到的问题,包括任何错误/异常消息。

答案 1 :(得分:0)

试试这个:

 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(MainActivity.this, "Selected Os Position:"+position,
                    "Select Os :"+parent.getAdapter().getItem(position), Toast.LENGTH_SHORT).show();
        }

也可以在parent.getAdapter()上进行一些修改.getItem(position)取决于此方法为具体适配器返回的内容。

<强>更新 这必须返回适配器中使用的数据。例如,如果将ArrayAdapter与Strings值一起使用,则必须返回String。

parent.getAdapter().getItem(position)

答案 2 :(得分:0)

您的代码中存在语法错误。正如您使用的答案中所提到的,而不是+用于连接。以下代码将起作用。

Toast.makeText(MainActivity.this, "Selected Os Position:"+position+"Select Os :"+osList[position], Toast.LENGTH_SHORT).show();