Skip to content

Expands once but won't collapse #8

Open

Description

@Michael1009

Hello,

My issue is that the button to expand the text only works on the first try. When I load the screen, I can expand the text correctly. However, when I try to collapse it, it looks like it's collapsing but then it expands again and then the button does not collapse or expand anything anymore. Running debug I can see that it is running collapse() method... It just is not correctly collapsing.

start

Expands fine here

expand

Starts to collapse but gets about halfway before expanding again. Does not work after this

failedcollapse

Activity

  1. changed the title [-]Won't collapse. Expands once but stops working after that.[/-] [+]Expands once but won't collapse[/+] on Aug 12, 2016
  2. Cliffus commented on Aug 13, 2016

    @Cliffus
    Contributor

    Hi Michael

    thanks for reporting this issue!

    Can you provide me your layout file and a code snippet from your Fragment / Activity? I'll try to reproduce the issue on my side and help you out asap.

    Thanks again!
    Cliff

  3. self-assigned this
    on Aug 13, 2016
  4. Cliffus commented on Aug 21, 2016

    @Cliffus
    Contributor

    Hi Michael

    did you already find some time to check my previous questions to you?

    Thanks!
    Cliff

  5. parohy commented on Oct 14, 2016

    @parohy

    I have set max lines 4. On first load I have 4 lines. I click on the text, it expands. Than I click to collapse, it collapses to 4 and than expands back. Than if I click again nothing happens. Text stays expanded.
    expandText.setInterpolator(new OvershootInterpolator()); expandText.setMaxLines(4); expandText.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(expandText.isExpanded()){ expandText.collapse(); } else{ expandText.expand(); } } });

    Layout is a bit stripped down..
    `

            <TextView
                android:id="@+id/anchor"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@android:color/transparent"
                android:minHeight="?attr/actionBarSize"/>
    
            <android.support.percent.PercentRelativeLayout
                android:id="@+id/detailWrapper"
                android:layout_below="@+id/anchor"
                android:layout_centerInParent="true"
                android:gravity="center"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="40dp"
                android:layout_marginRight="20dp">
    
                <RelativeLayout
                    android:id="@+id/detailContainer"
                    android:layout_alignParentLeft="true"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    app:layout_widthPercent="95%">
    
                    <LinearLayout
                        android:id="@+id/sponsorLogoContainer"
                        ...
                    </LinearLayout>
    
                    ...
    
                    <TextView
                        android:id="@+id/title"
                        android:layout_below="@id/thumbnail"
                        .../>
    
                    <TextView
                        android:id="@+id/episodeIndex"
                        android:layout_below="@id/title"
                        .../>
    
                    <at.blogc.android.views.ExpandableTextView
                        android:id="@+id/subtitle"
                        android:layout_below="@id/episodeIndex"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="0dp"
                        android:layout_marginTop="@dimen/detail_title_margin"
                        android:layout_marginRight="@dimen/detail_title_margin_right"
                        android:text="Subtitle text"
                        android:textSize="@dimen/detail_subtitle_size" />
    
                    <LinearLayout
                        android:id="@+id/buttonsWrapper"
                        android:layout_below="@id/subtitle"
                        ...
                    </LinearLayout>
    
                    ...
                    </RelativeLayout>
    
    
            </android.support.percent.PercentRelativeLayout>
        </RelativeLayout>
    

    `

    How ever, I used a different approach at the end and I don't have the orig element, but this is the fragment layout where I used the ExpandableTextView. Now I is just a simple TextView, just renamned that one so you can see where it was originally. Same thing happen to me as mentioned above.
    Hope it helps...

  6. Cliffus commented on Oct 15, 2016

    @Cliffus
    Contributor

    Hi Tomas

    thanks for reporting this issue! If you want a quick fix for your problem, use android:maxLines="4" in your layout file instead of using expandText.setMaxLines(4); in your Activity / Fragment.

    I'll add support for also using the setMaxLines() method.

    Good luck!

  7. Adnan-addi commented on Feb 1, 2017

    @Adnan-addi

    how to use this textview in listview in listitem row with simpleAdapter?

  8. added this to the 1.1.0 milestone on Aug 30, 2017
  9. pasniak commented on Jul 29, 2018

    @pasniak

    Setting MaxLines in code is crucial for XML-free Kotlin's anko layouts...

  10. zacharee commented on Jun 25, 2020

    @zacharee

    I've made a forked version of this library that allows setting the max lines in code: https://github.com/zacharee/Android-ExpandableTextView.

    Here's the relevant commit: zacharee@5fc91d3

    I just changed any calls to setMaxLines() inside the ExpandableTextView class to call the super method, and then overrode both setMaxLines() and getMaxLines() to properly set and report ExpandableTextView's maxLines field.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions