我正在制作一个应用程序,使用JSOUP从url中获取一些html。从单个网址解析可以正常工作,但每当我使用多个网址时,它都无法正常工作。 这是我的代码:
public class Test extends AsyncTask<String, Void, Void> {
String desc;
String u;
String key;
String xy;
public Test(Activity contex, String key) {
this.mContex = contex;
this.key = key;
}
Activity mContex;
@Override
protected void onPreExecute() {
super.onPreExecute();
mProgressDialog = ProgressDialog
.show(getActivity(), "", null, true);
mProgressDialog.setMessage("Loading...");
mProgressDialog.setIndeterminate(true);
mProgressDialog.show();
xy = key;
}
@Override
protected Void doInBackground(String... params) {
if (xy == "abcd") {
String url = "http://.....";
try {
Document document = Jsoup.connect(url).get();
Elements myin = document.select("div.content-wrap");
desc = myin.text().toString();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
@Override
protected void onPostExecute(Void result) {
respText.setText(desc);
mProgressDialog.dismiss();
}
}
使用switch case将密钥发送到asynctask。我想在doInbackground中添加8个if语句
我的问题是每当我运行这个项目时没有&#39;如果&#39;声明它有效,但如果我添加&#39; if(xy ==&#34; abcd&#34;)&#39;它没有用。没有错误,所以我无法理解这一点。
答案 0 :(得分:0)
使用if(xy=="abcd")
将无法使用xy.equals("abcd")
来比较Java中的字符串
答案 1 :(得分:0)
if(xy.equals("abcd")){
//do stuff
}
== operator compares memory addresses you should use `.equals()` when working with strings.