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(避免); } }
无论我在编辑文本中给出什么,不管是字符串还是什么,我只得到一个“哟”吐司。else部分永远不会作为真正的第二种情况执行。为什么?请帮忙。另外,我是否正确解析了链接标题?在启动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
异步任务之前,单击按钮从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();
}