Android多按钮按下可打开多个任务

时间:2015-09-08 05:32:34

标签: android android-asynctask android-button android-dialog

我有一个活动有两个按钮,其中一个是提交,另一个是取消。点击提交我有一个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有一个进度对话框完成它的过程之后,它就会崩溃,因为它得到错误没有附加窗口。能不能帮我。?

2 个答案:

答案 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();
       }          

}