我有一个活动有两个按钮,其中一个是提交,另一个是取消。点击提交我有一个asynctask和点击取消我完成了活动。
以下是我的提交按钮的代码。
btnSubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(track2data.equalsIgnoreCase("null")|| track2data == null){
track2data = mag.sGetTrack2Data();
}
btnSubmit.setEnabled(false);
btnSubmit.setClickable(false);
btnCancel.setEnabled(false);
btnCancel.setClickable(false);
//changes made by akshay wrt #11983 as on 29 July 2015
int checkconditions = conditions.checkConditions(edtPin,mContext,verifiedFinger,enterPin,verifyFinger);
if (track2data != null && track2data.length() > 0
&& !edtPin.getText().toString().equals("")&& checkconditions == 00) {
isoMsgRequest = fintransprovider.getBalanceTransaction(
track2data, edtPin.getText().toString());
MessageAdaptor msgadpt = new MessageAdaptor(mContext);
ISOMsg rIsoMsg;
msgadpt.execute(isoMsgRequest);
}
}
}
});
MessageAdaptor 是我的 asynctask 的名称。
以下是我的取消按钮的代码
btnCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
Whenevr我同时按下这两个按钮执行任务,即退出我的活动(取消)以及我进入我的asynctask(提交)。 当我的 asynctask有一个进度对话框完成它的过程之后,它就会崩溃,因为它得到错误没有附加窗口。能不能帮我。?
答案 0 :(得分:1)
检查Sub firefoxtabs()
Dim Website As String
Dim exepath As String
Dim i As Integer
'exepath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe -url " 'open in chrome
exepath = "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" 'open in firefox
For i = 1 To 3
Website = Cells(i, 1).Value
'Shell (exepath & Website) 'for chorme
Shell (exepath & " -new-tab " & Website) 'for firefox
Next
End Sub
中是否未取消AsyncTask:
try{
Class classType=Class.forName("com.zfeng.stackquesimg.Google");
Intent intent=new Intent();
intent.setClass(MainActivity.this,classType);
startActivity(intent);
}catch (Exception e)
{
e.printStackTrace();
}
问题是您的活动在AsyncTask完成之前被终止,因此AsyncTask在完成任务后找不到启动它的活动。
答案 1 :(得分:0)
onPostExcute检查您的活动是否被杀死
@Override
protected void onPostExecute(result) {
if (!getActivity().isFinishing() && mDialog != null) {
mDialog.dismiss();
}
}