2014-11-19 4 views
0

Я делаю приложение для извлечения некоторого html из url, используя JSOUP. Анализ из одного URL-адреса работает правильно, но всякий раз, когда я использовал несколько URL-адресов, это не работает. Это мой код:jsoup не работает правильно внутри asynctask с несколькими операторами if

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(); 

    } 

} 

ключ отправляется AsyncTask с помощью переключателя case.And Я хочу, чтобы добавить больше 8, если заявления в doInbackground

Что моя проблема заключается в том, что всякий раз, когда я запускаю этот проект без " if ", но если я добавлю 'if (xy ==" abcd ")', это не сработает. Ошибок нет, поэтому я не могу это понять.

+0

Используйте 'равных()' вместо '' ==. – Luksprog

+0

@Luksprog yup, это сработало ... какой дурак я ... –

ответ

0
if(xy.equals("abcd")){ 
    //do stuff 
} 

== operator compares memory addresses you should use `.equals()` when working with strings. 
0

Использование if(xy=="abcd") не будет работать использовать xy.equals("abcd") для сравнения строк в Java

Смежные вопросы