android - 允许用户更改 JSOUP URL

标签 android jsoup

我的目标是让用户能够根据用户输入的信息更改 URL 的结尾。

这是我的 JSOUP 代码。

private void getWebsite() {
    new Thread(new Runnable() {
        @Override
        public void run() {
            final StringBuilder builder = new StringBuilder();
            final StringBuilder builder2 = new StringBuilder();
            final StringBuilder builder3 = new StringBuilder();

            try {
                Document doc = Jsoup.connect("www.randomurl.com").get();
                Elements links = doc.select("div1");
                Elements links2 = doc.select("div2");
                Elements links3 = doc.select("div3");

                for (Element link : links) {
                    builder.append("\n").append(link.text());
                    builder2.append("\n").append(links2.text());
                    builder3.append("\n").append(links3.text());

                }
            } catch (IOException e) {
                builder.append("Error : ").append(e.getMessage()).append("\n");
            }

            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    result.setText(builder.toString());
                    worth.setText(builder2.toString());
                    price.setText(builder3.toString());
                }
            });
        }
    }).start();
}

我的目标是拥有一个用户可以输入信息的框,并将其应用于 URL 的最后部分。例如像这样。

try {
     Document doc = Jsoup.connect("www.randomurl.com/" + *userEnteredStringHere*).get();

任何有关如何完成此操作的见解都很棒!

编辑:-

@Override
public void run() {
    final StringBuilder builder = new StringBuilder();
    final StringBuilder builder2 = new StringBuilder();
    final StringBuilder builder3 = new StringBuilder();
    EditText userInput = findViewById(R.id.userInputWidget);

    try {
        Document doc = Jsoup.connect("www.randomurl.com" + userInput.getText()).get();

最佳答案

这不是真正的 Jsoup 问题。 我打赌你的应用程序有一些 GUI,其布局定义为 xml 文件。 它应该包含 EditText 小部件,以便用户能够输入文本:

<EditText
    android:id="@+id/userInputWidget"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:inputType="text"/>

然后您可以在您的代码中访问它:

 EditText userInput = (EditText) findViewById(R.id.userInputWidget);
 userInput.getText();

关于android - 允许用户更改 JSOUP URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51789241/

相关文章:

java - Jsoup 在没有类或标签的情况下获取不同标签之间的特定数据

java - 在 try-catch block 中使用 if 语句不适用于 JSoup

java - 使用 Jsoup 获取完整的 HTML

java - 当所有 UI 元素都可见时调用 fragment 内的方法

c# - 删除 Xamarin.Forms 中 ListView GroupHeaders 之间不需要的间距

android - Crashlytics 不会在 Firebase 控制台中显示自定义日志条目

javascript - 使用 jsoup 解析 JavaScript

java - Jsoup 获取元素内的元素

android - onPause、onResume、onStop、onStart 等不触发 - 生命周期?

android - FFMPEG:初始化复杂过滤器时出错。无效的论点