【发布时间】:2012-10-21 00:17:03
【问题描述】:
我正在处理我正在膨胀视图的代码,当用户单击一个视图时,我需要执行解析 URL,然后检查解析是否返回我。问题是我需要在 asynctask 解析中进行才能不出现异常,并且在任务结束之前进行检查。
理想的做法是将视图作为参数发送到 AsyncTask 以将我的所有代码发送到 Asynctask。但不是如何做到这一点
我放代码是为了更容易理解。
vMens.setOnClickListener(new View.OnClickListener() {
public void onClick(View vMens) {
int readOK=0;
try{
new taskMensaje(vMens).execute();
if(mess_gest.equals("1")){
readOK=1;
}else{
readOK=0;
}
}catch(Exception e){
Utils.showDialog(Calendario.this, "Error", "No se puede gestionar el mensaje");
}
if (readOK==0){
Mess.state = message.get(vMens.getId()).p1;
Mess.tittle = message.get(vMens.getId()).p2;
else{
//message no gest
}
}
});
private class taskMensaje extends AsyncTask<String, Void, View> {
@Override
protected String doInBackground(String... params) {
MensajeriaGestionablePARSER parserMensGest = new MensajeriaGestionablePARSER(urlMensGest);
gestionables = parserMensGest.parse();
mess_gest = gestionables.get(0).p0;
return "";
}
}
有解决这个问题的办法吗?
感谢和抱歉我的英语不好
【问题讨论】:
-
只是小费。首先使用字面量比较字符串是一个好习惯,例如
"1".equals(mess_gest)。它有助于避免 NullPointers。您还可以使用TextUtils.equals("1", mess_gest)比较字符串。 TextUtils 由 android SDK 提供。
标签: android view android-asynctask parameter-passing