2013-11-28 3 views
1

Что я хочу - это диалоговое окно без какой-либо кнопки и закрытие этого диалогового окна, когда я выхожу за пределы тела диалогового окна. Является ли это возможным?Закрытие диалогового окна при нажатии на внешнюю сторону

public class MainActivity extends Activity{ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     openCredit(); 
    } 

    //THIS IS ONE CUSTOM DIALOG 
    public void openCredit(){ 
     AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); 
     LayoutInflater inflater = MainActivity.this.getLayoutInflater(); 
     builder.setView(inflater.inflate(R.layout.activity_splash, null)); 
     builder.show(); 
    } 
} 

EDIT: У меня есть поиск и нашел две функции setCanceledOnTouchOutside() и setCancelable(). Первый не работает с моим методом AlertDialog, давая ошибку «Метод setCanceledOnTouchOutside (boolean) не определен для типа AlertDialog.Builder». А второй - для нажатия кнопки.

Итак, я меняю свой код, как показано ниже, и теперь он работает. Благодарю.

public void openCredit(){ 
     AlertDialog builder = new AlertDialog.Builder(this).create(); 
     LayoutInflater inflater = MainActivity.this.getLayoutInflater(); 
     builder.setView(inflater.inflate(R.layout.activity_splash, null)); 
     builder.setCancelable(true); 
     builder.show(); 
     builder.setCanceledOnTouchOutside(true); 
    } 
+1

Что вы узнали, когда вы Googled и искали здесь это? – Simon

+0

Возможный дубликат [Как отклонить диалог с щелчком мыши вне диалогового окна?] (Http://stackoverflow.com/questions/8384067/how-to-dismiss-the-dialog-with-click-on-outside- из-за диалогового окна) – Simon

+0

мое извинение .. Я пробовал поиск по Google с неправильными ключевыми словами и пропустил соответствующие ссылки .... – abdfahim

ответ

0

Вы пробовали это ..

+0

согласно ссылке, эта функция предназначена для закрытия при нажатии кнопки возврата, а не нажимать на нее. Другой functoin setCanceledOnTouchOutside не работает с AlertDialog. http://developer.android.com/reference/android/app/Dialog.html#setCancelable%28boolean%29 – abdfahim

+0

@AbdullahFahim это должно работать, я проверил его, и я использовал его. И 'setCancelable (true)' для 'AlertDialog' так же, как' setCanceledOnTouchOutside (true); 'for' Dialog'. – Hariharan

0

Добавьте эту строку для этого

Смежные вопросы