Java 在显示警报对话框之前未显示进度对话框

Java 在显示警报对话框之前未显示进度对话框,java,android,Java,Android,在我的片段中,Listview Onclicklistener被定向到ListTrainSearch。它工作得很好,显示一个警报对话框,但从不显示进度对话框。也尝试了异步任务,但未成功。已尝试getActivity().runOnUiThread,结果相同。任何答复都会大有帮助 public void ListTrainSearch(String spinval) { mProgressDialog = new ProgressDialog(getContext());

在我的片段中,Listview Onclicklistener被定向到ListTrainSearch。它工作得很好,显示一个警报对话框,但从不显示进度对话框。也尝试了异步任务,但未成功。已尝试getActivity().runOnUiThread,结果相同。任何答复都会大有帮助

public void ListTrainSearch(String spinval) {

mProgressDialog = new ProgressDialog(getContext());

                  mProgressDialog.setMessage("Please Wait!");
                  mProgressDialog.setIndeterminate(true);
                  mProgressDialog.setMax(100);
                  mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
                  mProgressDialog.setCancelable(false);
                                       mProgressDialog.show();

    spinval = spinval.substring(0, Math.min(spinval.length(), 5));

    if (spinval.matches("\\d*")) {
       HashMap<String, String> temp = new HashMap<String, String>();
        fast_list = new ArrayList<HashMap<String, String>>();
        temp.put(FIRST_COLUMN, "STATION");
        temp.put(SECOND_COLUMN, "TIME");
        fast_list.add(temp);
        Boolean flag = false;

        try {
                           File file = new File(getActivity().getExternalFilesDir(null), "pttmmc.xls");
            InputStream myInput = new FileInputStream(file);
            POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);
            HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);
            for (int i = 0; i < myWorkBook.getNumberOfSheets(); i++) {
                String str = "";
                int col_num = 0;
                int k = 0;
                HSSFSheet mySheet = myWorkBook.getSheetAt(i);
               Iterator<Row> rowIterator = mySheet.iterator();
                int j = 0;
                while (rowIterator.hasNext()) {
                    Row row = rowIterator.next();
        Iterator<Cell> cellIterator = row.cellIterator();
                    if (row.getRowNum() == 1) {
                        k = 0;
        while (cellIterator.hasNext()) 
        {Cell cell = cellIterator.next();
                           switch (cell.getCellType()) {
                                case Cell.CELL_TYPE_NUMERIC:
                                    str = cell.toString();
                                    break;
                                case Cell.CELL_TYPE_STRING:
                                    str = cell.toString();
                                    break;
                            }
                            if (!str.isEmpty()) {

                                if (str.contains(spinval)) {
                                    col_num = k;
                                    flag = Boolean.TRUE;

                            }
                            k = k + 1;
                        }
                    } else if (row.getRowNum() > 1)
                        if (col_num > 0) {
                            String str1 = "";
                            HashMap<String, String> temp1 = new HashMap<String, String>();
                            switch (row.getCell(col_num).getCellType()) {
                                case Cell.CELL_TYPE_NUMERIC:
                                    Double str2 = row.getCell(col_num).getNumericCellValue();
                                    str1 = str2.toString();
                                    if (!str1.isEmpty()) {
                                        if (DateUtil.isCellDateFormatted(row.getCell(col_num))) {
                                            try {
                                                SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.ENGLISH);
                                                str1 = sdf.format(row.getCell(col_num).getDateCellValue());
                                            } catch (Exception e) {
                                                // Toast.makeText(getContext(), "Crashed " + str1, Toast.LENGTH_SHORT).show();
                                                e.printStackTrace();
                                            }
                                        }
                                    }
                                    // Toast.makeText(getContext(), "Numeric " + str1, Toast.LENGTH_SHORT).show();
                                    break;
                                case Cell.CELL_TYPE_STRING:
                                    str1 = row.getCell(col_num).toString();
                                    //   Toast.makeText(getContext(), "String " + str1, Toast.LENGTH_SHORT).show();
                                    break;
                            }
                           if (!str1.isEmpty()) {
                               temp1.put(FIRST_COLUMN, row.getCell(1).toString());
                                temp1.put(SECOND_COLUMN, str1);
                                fast_list.add(temp1);
                                 Toast.makeText(getContext(), row.getCell(1).toString()+" : " + str, Toast.LENGTH_SHORT).show();
                            }
                        }
                    j = j + 1;
                    }

            }
        } catch (Exception e) {         //****   If xls file not found
             mProgressDialog.dismiss();
            new AlertDialog.Builder(getContext())
                    .setTitle("MOTORMAN GUIDE")
                    .setMessage("Please perform \"Check Update -> PTT Update\"")
                    // .setNegativeButton(android.R.string.no, null)
                    .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface arg0, int arg1) {
                            //  MainActivity.super.onBackPressed();
                        }
                    })
                    .create().show();
            e.printStackTrace();
        }
        if (flag) {   //*  If string match found, display alert dialog
    mProgressDialog.dismiss();
           ListViewAdapters adapter = new ListViewAdapters(getActivity(), fast_list);
           new AlertDialog.Builder(getContext())
                    .setTitle("Train no: " + spinval)
                    .setAdapter(adapter, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int item) {
                        }
                    })
                    .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface arg0, int arg1) {
                            //  MainActivity.super.onBackPressed();
                        }
                    })
                    .create().show();
        } else { //*  If string match not found display toast
             mProgressDialog.dismiss();
            Toast.makeText(getContext(), "Train Number " + spinval + " not Found ", Toast.LENGTH_SHORT).show();
        }
    } else {//*  If string didn't match "\\d*"
         mProgressDialog.dismiss();
        Toast.makeText(getContext(), "Invalid Train Number ", Toast.LENGTH_SHORT).show();
    }

}**
public void ListTrainSearch(字符串spinval){
mProgressDialog=newprogressdialog(getContext());
设置消息(“请稍候!”);
mProgressDialog.setUndeterminate(true);
mProgressDialog.setMax(100);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE\u微调器);
mProgressDialog.setCancelable(假);
mProgressDialog.show();
spinval=spinval.substring(0,Math.min(spinval.length(),5));
if(spinval.matches(\\d*)){
HashMap temp=新的HashMap();
fast_list=new ArrayList();
温度输入(第一列,“站”);
温度输入(第二列“时间”);
快速列表。添加(临时);
布尔标志=假;
试一试{
File File=新文件(getActivity().getExternalFilesDir(null),“pttmc.xls”);
InputStream myInput=新文件InputStream(文件);
POIFSFileSystem myFileSystem=新的POIFSFileSystem(myInput);
HSSFWorkbook myWorkBook=新的HSSFWorkbook(myFileSystem);
对于(int i=0;i1)
如果(列数>0){
字符串str1=“”;
HashMap temp1=新的HashMap();
开关(row.getCell(col_num).getCellType()){
case Cell.Cell\u类型\u数值:
Double str2=row.getCell(col_num).getNumericCellValue();
str1=str2.toString();
如果(!str1.isEmpty()){
if(DateUtil.isCellDateFormatted(row.getCell(col_num))){
试一试{
SimpleDataFormat sdf=新的SimpleDataFormat(“HH:mm”,Locale.ENGLISH);
str1=sdf.format(row.getCell(col_num.getDateCellValue());
}捕获(例外e){
//Toast.makeText(getContext(),“crasted”+str1,Toast.LENGTH\u SHORT.show();
e、 printStackTrace();
}
}
}
//Toast.makeText(getContext(),“Numeric”+str1,Toast.LENGTH\u SHORT.show();
打破
case Cell.Cell\u类型\u字符串:
str1=row.getCell(col_num).toString();
//Toast.makeText(getContext(),“String”+str1,Toast.LENGTH\u SHORT.show();
打破
}
如果(!str1.isEmpty()){
temp1.put(第一列,row.getCell(1.toString());
temp1.put(第二列,str1);
快速列表。添加(temp1);
Toast.makeText(getContext(),row.getCell(1).toString()+”:“+str,Toast.LENGTH_SHORT).show();
}
}
j=j+1;
}
}
}捕获(异常e){/**(如果未找到xls文件)
mProgressDialog.disclose();
新建AlertDialog.Builder(getContext())
.setTitle(“司机指南”)
.setMessage(“请执行\“检查更新->PTT更新\”)
//.setNegativeButton(android.R.string.no,null)
.setPositiveButton(“确定”,新的DialogInterface.OnClickListener(){
公共void onClick(对话框接口arg0,int arg1){
//MainActivity.super.onBackPressed();
}
})
.create().show();
e、 printStackTrace();
}
如果(标志){//*如果发现字符串匹配,则显示警报对话框
mProgressDialog.disclose();
ListViewAdapters=新的ListViewAdapters(getActivity(
Handler handler = new Handler(Looper.getMainLooper()) {
            @Override
            public void handleMessage(Message msg) {
                  mProgressDialog.setMessage("Please Wait!");
                  mProgressDialog.setIndeterminate(true);
                  mProgressDialog.setMax(100);
                  mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
                  mProgressDialog.setCancelable(false);
                  mProgressDialog.show();
            }
        };