2012-01-29 70 views
0

当新的对话框或下一个对话框运行时,我无法返回到第一个对话窗口。返回到带有后退按钮的第一个对话框窗口

我的目标是通过单击后退按钮打开对话框。我怎样才能做到这一点?

我尝试了几件事,但无法解决我的问题。这里是我的代码:

AlertDialog.Builder builder = new AlertDialog.Builder(context); 
       builder.setTitle("AP's"); 
       builder.setItems(scannedAP, new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int which) { 
         try { 
          Cursor cursor = dbAdapter.queryRssiBlob(scannedMacSsid[which][mac],scannedMacSsid[which][ssid],coord[GridConfig.curXCoord],coord[GridConfig.curYCoord]); 
          if (cursor != null && cursor.moveToFirst()) { 
           byte[] rssiArrayOne = cursor.getBlob(cursor.getColumnIndex("rssi")); 
           cursor.close(); 
           ObjectInputStream objectIn = new ObjectInputStream(new ByteArrayInputStream(rssiArrayOne)); 
           List<Integer> readRssi = (List<Integer>) objectIn.readObject(); 
           rssiList = new CharSequence[readRssi.size()]; 
           for (int index = 0; index < readRssi.size(); index++) { 
            rssiList[index] = "" + readRssi.get(index); 
           } 
           AlertDialog.Builder build = new AlertDialog.Builder(context); 
           build.setTitle("RSSi values"); 
           build.setItems(rssiList, new DialogInterface.OnClickListener() { 
            public void onClick(DialogInterface dialog, int which) {} 
            }); 
           build.setOnKeyListener(new DialogInterface.OnKeyListener() { 
            public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event2) { 
             if (keyCode == KeyEvent.KEYCODE_BACK) { 
              return false; 
             } 
             return true; 
            } 
            }); 
           AlertDialog alertBuild = build.create(); 
           alertBuild.show(); 
          } else { 
           Toast.makeText(context, "No Values", Toast.LENGTH_SHORT).show(); 
          } 
         } catch (Exception e) { 
          e.printStackTrace(); 
         } 

        } 

       }); 
       AlertDialog alert = builder.create(); 
       alert.show(); 

回答

0

使用一个单独的类的第一个对话框,并添加android:theme="@android:style/Theme.Dialog"<activity>标签在AndroidManifest该类。如果你不叫finish()它会被添加到后台。

+0

感谢您的帮助,我会尽快尝试 – LikeMusic 2012-01-31 22:58:21

相关问题