Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSoup将文本存储在变量中_Java_Android_Jsoup - Fatal编程技术网

Java JSoup将文本存储在变量中

Java JSoup将文本存储在变量中,java,android,jsoup,Java,Android,Jsoup,我是JAVA/Android开发的新手 我制作了一个从HTML类中提取文本的应用程序 protected List<String> doInBackground(String... url) { try { Document doc = Jsoup.connect( "http://example/test.html").get(); Elements st1 = doc.sel

我是JAVA/Android开发的新手

我制作了一个从HTML类中提取文本的应用程序

protected List<String> doInBackground(String... url) {
        try {
            Document doc = Jsoup.connect(
                    "http://example/test.html").get();

            Elements st1 = doc.select("a[class*=subject_rating_details");

            for (Element element : st1) {
                sgrade[0] = st1.get(0).text();
                sgrade[1] = st1.get(0).text();
                sgrade[2] = st1.get(0).text();
                sgrade[3] = st1.get(0).text();
                sgrade[4] = st1.get(0).text();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        List<String> pinfo = null;
        return pinfo;
    }

    @Override
    protected void onPostExecute(List<String> pinfo) {
        prog.dismiss();
    }
}

List<ListData> varlist = new ArrayList<ListData>();
String sgrade[] = new String[] {};
但它只存储最后一个(stringname=st1.get(4.text();)

我也试过:

for (Element element : st1) {
stringname1 = st1.get(0).text();
stringname2 = st1.get(1).text();
stringname3 = st1.get(2).text();
stringname4 = st1.get(3).text();
stringname5 = st1.get(4).text();
}
但是我需要st1的文本在一个变量中

我能做什么

谢谢

编辑

我想要这样的东西:

字符串sgrade[]=新字符串[]{}

for (Element element : st1) {
                sgrade[0] = st1.get(0).text();
                sgrade[1] = st1.get(0).text();
                sgrade[2] = st1.get(0).text();
                sgrade[3] = st1.get(0).text();
                sgrade[4] = st1.get(0).text();
}

以后我可以阅读每个文本并在文本视图中显示:

textview1.setText(sgrade[0]); <--/// This would display "Ford"
textview2.setText(sgrade[1]); <--/// This would display "Mustang"
textview3.setText(sgrade[2]); <--/// This would display "2013"

/// HTML ///

...

<p class="subject_rating_details">Ford</p>
<p class="subject_rating_details">Mustang</p>
<p class="subject_rating_details">2013</p>

...

/// HTML ///

textview1.setText(sgrade[0]) 请这边试试。这样,您将在名为stringname的单个字符串中获得st1的值

List<String>   stringname =new ArrayList<String>();

  for (Element element : st1) {
stringname.add(st1.get(0).text());
stringname.add(st1.get(1).text());
stringname.add(st1.get(2).text());
stringname.add(st1.get(3).text());
stringname.add(st1.get(4).text());
}
List stringname=new ArrayList();
用于(元素:st1){
stringname.add(st1.get(0.text());
stringname.add(st1.get(1.text());
stringname.add(st1.get(2.text());
stringname.add(st1.get(3.text());
stringname.add(st1.get(4.text());
}

好的,我用这种方法测试了它,但它不适合我的需要。我想将JSoup中的文本存储在stringname中,但可以使用更多的列表,如:textview.setText(stringname[0]);textview2.setText(stringname[1]);好,然后将stringname声明为List,并在for循环内部将每个文本值添加到List。
List<String>   stringname =new ArrayList<String>();

  for (Element element : st1) {
stringname.add(st1.get(0).text());
stringname.add(st1.get(1).text());
stringname.add(st1.get(2).text());
stringname.add(st1.get(3).text());
stringname.add(st1.get(4).text());
}