在Android中使用Jsoup进行数据检索并填充Spinner的步骤如下:
implementation 'org.jsoup:jsoup:1.14.1'
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = findViewById(R.id.spinner);
// 执行Jsoup数据检索任务
new JsoupTask().execute();
}
private class JsoupTask extends AsyncTask> {
@Override
protected List doInBackground(Void... voids) {
List dataList = new ArrayList<>();
try {
// 使用Jsoup连接并解析网页
Document doc = Jsoup.connect("https://example.com").get();
// 使用CSS选择器选择需要的数据
Elements elements = doc.select("your_css_selector");
// 遍历元素并添加到数据列表
for (Element element : elements) {
dataList.add(element.text());
}
} catch (IOException e) {
e.printStackTrace();
}
return dataList;
}
@Override
protected void onPostExecute(List dataList) {
// 使用数据列表填充Spinner
ArrayAdapter adapter = new ArrayAdapter<>(MainActivity.this,
android.R.layout.simple_spinner_dropdown_item, dataList);
spinner.setAdapter(adapter);
}
}
}
在上述代码中,需要修改以下部分以适应你的需求:
https://example.com
为你要连接和解析的网页地址。your_css_selector
为你想要选择的网页元素的CSS选择器。这样,当Activity启动时,Jsoup将会在后台执行数据检索任务,并将检索到的数据填充到Spinner中。