java - 如何修复 java.lang.StringIndexOutOfBoundsException : length=225; regionStart=4; regionLength=-2

标签 java android android-studio substring

这是我的错误:

`E/AndroidRuntime:致命异常:AsyncTask #2 进程:com.example.yasht.recyclerviewrss,PID:4097 java.lang.RuntimeException:执行 doInBackground() 时发生错误

    at android.os.AsyncTask$3.done(AsyncTask.java:325)
    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
    at java.util.concurrent.FutureTask.run(FutureTask.java:242)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)

    at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.StringIndexOutOfBoundsException: length=225; regionStart=4; regionLength=-2
    at java.lang.String.substring(String.java:1931)
    at com.example.yasht.recyclerviewrss.m_Rss.RssParser.parseRSS(RssParser.java:107)
    at com.example.yasht.recyclerviewrss.m_Rss.RssParser.doInBackground(RssParser.java:47)
    at com.example.yasht.recyclerviewrss.m_Rss.RssParser.doInBackground(RssParser.java:21)`      

我发生错误的来源:

case XmlPullParser.END_TAG:

                    if(!isSiteMeta)
                    {
                        if(tagName.equalsIgnoreCase("title"))
                        {
                            article.setTitle(tagValue);
                        }else if(tagName.equalsIgnoreCase("description"))
                        {
                            String desc=tagValue;

                            //EXTRACT IMAGE FROM DESC
                            // error in this line =>  
                             String 
 imageUrl=desc.substring(desc.indexOf("src=")+5,desc.indexOf("jpg")+3);
                            article.setImageurl(imageUrl);`

最佳答案

似乎jpg不在desc中,因此desc.indexOf("jpg")返回-1+3给出-2!

关于java - 如何修复 java.lang.StringIndexOutOfBoundsException : length=225; regionStart=4; regionLength=-2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53349288/

相关文章:

java - 该实体类的标准 API/HQL

java -cp 。 test.java 与 java test.java

java - 分析Java项目中的JAR依赖

android - 如何在android中的Fragment中填写自定义列表?

android-studio - 有没有办法避免此错误消息? "Couldn' t 解析资源@string/todo Tip : Try to refresh the layout. "

android - 使用gradle作为android构建系统时如何直接获取Android Library的源代码

java - 如何组合Switch语句?

android - 样式中的 ConstraintLayout 约束属性

安卓通知删除

android - 有没有办法知道我在特定版本上具有的每个gradle依赖版本?