2014-07-12 65 views
1

我用ListView创建了一个AlertDialog。当创建AlertDialog时,它也开始扫描BLE设备。当用户点击其中一个项目时,scanLeDevice函数被调用,这将停止进一步扫描。我想知道如何在AlertDialog外单击时调用此函数?AlertDialog关闭时如何调用函数?

public class BLEScan extends AlertDialog { 
.... 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

... 
bleList.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
      BLEScan.this.scanLeDevice(false); 
      selectedBluetoothDevice =(BluetoothDevice) (bleList.getItemAtPosition(i)); 
      BLEScan.this.dismiss(); 
     } 
    }); 
+0

请参阅:http://developer.android.com/reference/android/app/Dialog.html#setOnDismissListener(android.content.DialogInterface.OnDismissListener) –

回答

1

设置一个OnDismissListener通过setOnDismissListener()

1

试试这个。

您可以覆盖onDismiss方法在DialogFragment,这是在对话框被取消时被调用。

希望,这可能对你有帮助!