从 HTML 页面创建文档后,Jsoup 方法未将数据存储到 TextView

Jsoup method not storing data into TextView after creating Document from HTML page

我试过这段代码:

public class MainActivity extends AppCompatActivity {
TextView text;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        netAccess();
        text = findViewById(R.id.textview1);
    }

    public void netAccess()
    {

        try {
            Document doc = Jsoup.connect("https://google.com/").get();
            String word = doc.title();
            text.setText(word);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }

    }

但是在我初始化“doc”之后没有任何反应,TextView 没有改变,“word”的值也没有改变。我使用 Android Studio 的调试来查看值是否已更改,而 TextView 是否由于某种原因没有更新,但没有任何反应。我已经在多个 AVD 上试过了。我找不到任何东西表明它为什么不起作用,我用 title() 替换了 text() 并且没有任何改变。

Document doc = Jsoup.connect("https://google.com/").get();
String word = doc.title();
text.setText(word);

我确定我忽略了一些明显的东西。有人能看到吗?

您必须在另一个线程中执行此操作。你可以试试这个 AsyncTask。由于现在已弃用,我只是举个例子。

public void netAccess()
{
    new MyTask().execute();
}

class MyTask extends AsyncTask<Void,String,String>
{
    @Override
    protected String doInBackground(Void... arg0) {

        String title  = "";
        try {
            Document doc = Jsoup.connect("https://google.com/").get();
            title = doc.title();
            Log.v("MYJSOUP", title);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        return title;
    }
}