Git Product home page Git Product logo

Comments (13)

lizhw123 avatar lizhw123 commented on September 24, 2024 1

java.lang.StringIndexOutOfBoundsException: length=96; regionStart=14; regionLength=-3
at java.lang.String.startEndAndLength(String.java:298)
at java.lang.String.substring(String.java:1087)
at java.lang.String.subSequence(String.java:1424)
at ExpandableTextView.getNewTextByConfig(ExpandableTextView.java:266)
at setText(ExpandableTextView.java:356)
at android.widget.TextView.setText(TextView.java:4189)

from expandabletextview.

lizhw123 avatar lizhw123 commented on September 24, 2024 1

我没有改代码,只是拿来测试时发现的。
是这两行代码

            int remainWidth = getValidLayout().getWidth() -
                    (int) (mTextPaint.measureText(mOrigText.subSequence(indexStart, indexEndTrimmed).toString()) + 0.5);
            float widthTailReplaced = mTextPaint.measureText(getContentOfString(mEllipsisHint)
                    + (mShowToExpandHint ? (getContentOfString(mToExpandHint) + getContentOfString(mGapToExpandHint)) : ""));

from expandabletextview.

Carbs0126 avatar Carbs0126 commented on September 24, 2024

感谢反馈,我尽快看一下这个问题

from expandabletextview.

Carbs0126 avatar Carbs0126 commented on September 24, 2024

我试了下,添加\n后,我这边没有产生问题;
另外,我在编码时没有考虑到\n的情况,因此对\n支持的不好,比如存在换行符后对一共多少行判断有误。在listview中使用此控件时,在初始化时会显示“先打开然后立即收起”的现象,这两个问题有待进一步解决。
另外,您给的log中显示266行报错,但是266行是空行,因此应该是您在修改源码后进行调试的log,所以我这边无法复现此问题

from expandabletextview.

lizhw123 avatar lizhw123 commented on September 24, 2024

就是碰到有
aaa
bbb
ccc

这种内容时候会报错

from expandabletextview.

Carbs0126 avatar Carbs0126 commented on September 24, 2024

谢谢提醒,确实有这个问题,主要是因为我没有处理\n导致的,我稍后改改

from expandabletextview.

lizhw123 avatar lizhw123 commented on September 24, 2024

我想在项目中使用,但还有一个问题,能在加一个ClickableSpan 把点击显示文字和"展开"/"收起"这两个的点击事件区分开吗?

from expandabletextview.

Carbs0126 avatar Carbs0126 commented on September 24, 2024

没太明白你的意思,你的意思是“展开”/“收起”只是一个显示作用,不添加按下功能,按下功能在另一个clickspan中添加?

from expandabletextview.

lizhw123 avatar lizhw123 commented on September 24, 2024

我的意思是“展开”/“收起”就按现在做的,但点击显示的文字可以加一个ClickableSpan,这样就可以自己来设点击事件了。就是点击显示文字和"展开"/"收起"可以有不同的响应

from expandabletextview.

Carbs0126 avatar Carbs0126 commented on September 24, 2024

我明白你的意思了,现在的clickablespan的click是这样定义的:

@Override
        public void onClick(View widget) {
            if(hasOnClickListeners()
                    && (getOnClickListener(ExpandableTextView.this) instanceof ExpandableClickListener)) {
            }else{
                toggle();
            }
        }

现在的问题是,如果我给这个view设置了外部的点击事件,此时单独点击“展开收起”时,既响应clickablespan,同时响应外部点击效果

from expandabletextview.

lizhw123 avatar lizhw123 commented on September 24, 2024

对的

from expandabletextview.

haogg avatar haogg commented on September 24, 2024

这个在android 4.4 上是能够复现的

from expandabletextview.

Carbs0126 avatar Carbs0126 commented on September 24, 2024

更新了一下代码,现在换行崩溃的问题已经可以解决了
请更细一下依赖:
compile 'cn.carbs.android:ExpandableTextView:1.0.3'

from expandabletextview.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.