Android Asynctask中的Else部分永远不会执行 @覆盖 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); EditText movieText=(EditText)findViewById(R.id.movieText); txt=movieText.getText().toString(); Button Button=(Button)findViewById(R.id.Button); setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ 新建爬网().execute(); } }); } 公共类爬网扩展了异步任务{ 字符串url=”http://www.filmibeat.com/movie_listings/Chennai.html"; 文件文件; 元素链接页面; @凌驾 受保护的Void doInBackground(Void…参数){ 试一试{ doc=Jsoup.connect(url.get(); linksOnPage=doc.select(“a[href]”; } catch(异常e){e.printStackTrace();} 返回null; } @凌驾 受保护的void onPostExecute(void避免){ 对于(元素链接:linksOnPage){ 如果(link.tagName(“title”).toString()包含(txt)){ final Toast Toast=Toast.makeText(MainActivity.this,“YO”,Toast.LENGTH\u SHORT); toast.show(); Handler=newhandler(); handler.postDelayed(新的Runnable(){ @凌驾 公开募捐{ toast.cancel(); } },1000); } 否则{ final Toast Toast=Toast.makeText(MainActivity.this,“NO”,Toast.LENGTH\u SHORT); toast.show(); Handler=newhandler(); handler.postDelayed(新的Runnable(){ @凌驾 公开募捐{ toast.cancel(); } },1000); } } super.onPostExecute(避免); } }

Android Asynctask中的Else部分永远不会执行 @覆盖 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); EditText movieText=(EditText)findViewById(R.id.movieText); txt=movieText.getText().toString(); Button Button=(Button)findViewById(R.id.Button); setOnClickListener(新视图.OnClickListener(){ @凌驾 公共void onClick(视图v){ 新建爬网().execute(); } }); } 公共类爬网扩展了异步任务{ 字符串url=”http://www.filmibeat.com/movie_listings/Chennai.html"; 文件文件; 元素链接页面; @凌驾 受保护的Void doInBackground(Void…参数){ 试一试{ doc=Jsoup.connect(url.get(); linksOnPage=doc.select(“a[href]”; } catch(异常e){e.printStackTrace();} 返回null; } @凌驾 受保护的void onPostExecute(void避免){ 对于(元素链接:linksOnPage){ 如果(link.tagName(“title”).toString()包含(txt)){ final Toast Toast=Toast.makeText(MainActivity.this,“YO”,Toast.LENGTH\u SHORT); toast.show(); Handler=newhandler(); handler.postDelayed(新的Runnable(){ @凌驾 公开募捐{ toast.cancel(); } },1000); } 否则{ final Toast Toast=Toast.makeText(MainActivity.this,“NO”,Toast.LENGTH\u SHORT); toast.show(); Handler=newhandler(); handler.postDelayed(新的Runnable(){ @凌驾 公开募捐{ toast.cancel(); } },1000); } } super.onPostExecute(避免); } },android,android-asynctask,jsoup,Android,Android Asynctask,Jsoup,无论我在编辑文本中给出什么,不管是字符串还是什么,我只得到一个“哟”吐司。else部分永远不会作为真正的第二种情况执行。为什么?请帮忙。另外,我是否正确解析了链接标题?在启动异步任务之前,单击按钮从EditText获取输入: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activi

无论我在编辑文本中给出什么,不管是字符串还是什么,我只得到一个“哟”吐司。else部分永远不会作为真正的第二种情况执行。为什么?请帮忙。另外,我是否正确解析了链接标题?

在启动
异步任务之前,单击按钮从EditText获取输入:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    EditText movieText = (EditText) findViewById(R.id.movieText);
    txt = movieText.getText().toString();
    Button button = (Button) findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            new crawling().execute();

        }
    });
}

public class crawling extends AsyncTask<Void, Void, Void> {

    String url ="http://www.filmibeat.com/movie_listings/Chennai.html";
    Document doc;
    Elements linksOnPage;

    @Override
    protected Void doInBackground(Void... params) {
        try {
            doc = Jsoup.connect(url).get();
            linksOnPage = doc.select("a[href]");
        }
        catch (Exception e){e.printStackTrace();}
        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        for(Element link : linksOnPage) {
            if (link.tagName("title").toString().contains(txt)) {
                final Toast toast = Toast.makeText(MainActivity.this,"YO",Toast.LENGTH_SHORT);
                toast.show();
                Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        toast.cancel();
                    }
                },1000);

            }
            else{
                final Toast toast = Toast.makeText(MainActivity.this,"NO",Toast.LENGTH_SHORT);
                toast.show();
                Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        toast.cancel();
                    }
                },1000);
            }
        }
        super.onPostExecute(aVoid);
    }
}

在日志中打印title和txt的值,或者调试If()条件。@Chetan您能解释一下吗?我一直在为此伤脑筋。使用调试器查看
txt
的值。编写Log.e(“txt值”,txt);在if.之前,在控制台中检查其值无需使用handler取消
Toast
现在,if永远不会执行,我得到一个“否”toast@SaptharishiAnanthanarayanan:可能是
link.tagName(“title”).toString()
返回
public void onClick(View v) {
            // get here text from EditText
           txt = movieText.getText().toString();
            new crawling().execute();

        }