Android Studio - Jsoup select()。text()更改文本颜色

时间:2017-05-02 14:12:31

标签: java android android-studio

是否可以在Jsoup中更改文字颜色?

这是我的代码:

String uColor;
titleColor = doc.select("u").text();

如何更改titleColor的文字颜色?有可能吗?

public class Odpowiedzi extends AsyncTask<String, String, String>{

    int swiatInt;

    String swiat;
    String url = "http://gra96procent.blogspot.com/";
    String odp;
    String zlySwiat = "Nie ma takiego świata w tej grze ! ";
    String titleColor;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();

        swiat = swiatEdt.getText().toString();
        swiatInt = Integer.parseInt(swiat);

        if (swiatInt >= 1 && swiatInt <= 60){
            url = url + "2015/11/swiat-" + swiat + ".html";
        }

        if (swiatInt >= 61 && swiatInt <= 62){
            url = url + "2015/12/swiat-" + swiat + ".html";
        }

        if (swiatInt >= 63 && swiatInt <= 80){
            url = url + "2016/02/swiat-" + swiat + ".html";
        }

        if (swiatInt >= 80 && swiatInt <= 110){
            url = url + "2016/04/swiat-" + swiat + ".html";
        }

        if (swiatInt >= 111 && swiatInt <= 120){
            url = url + "2016/09/swiat-" + swiat + ".html";
        }

        if (odpowiedzi.getText().toString() == ""){
            odpowiedzi.setText("Podaj świat, aby uzyskać odpowiedzi!");
        }


    }

    @Override
    protected String doInBackground(String... params) {

        try{
            Document doc = Jsoup.connect(url).get();

            doc.select("br").append("\\n");
            doc.select("p").prepend("\\n\\n");

            doc.select("b").append("\n");
            doc.select("b").prepend("\n");

            doc.select("ul").append("\\n\\n");

            doc.select("h3").append("\\n\\n");

            doc.select("li").append("\\n");
            doc.select("li").prepend("\n");

            doc.select("u").append("\\n");
            titleColor = doc.select("u").text();

            odp = doc.select("div#Blog1").text().replace("\\n", "\n").
                    replaceAll("Nowszy post Starszy post Strona główna", "");

        }

        catch (IOException e){
            e.printStackTrace();
        }

        return null;
    }

    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        odpowiedzi.setText(odp);

        if (swiatInt > 120){
            odpowiedzi.setText(zlySwiat);
        }

    }

1 个答案:

答案 0 :(得分:0)

获取HTML样式属性的最佳方法是使用样式CSS。

    Document document = Jsoup.parse(html);
    String style = document.select("style").first().data();

然后,您可以使用CSS解析器来获取您感兴趣的详细信息。

http://www.w3.org/Style/CSS/SAC

http://cssparser.sourceforge.net

https://github.com/corgrath/osbcp-css-parser#readme

之后您可以使用颜色设置文本

text.setTextColor(Color.parseColor("#FFFFFF"));