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