Estou trabalhando em um aplicativo Android e usando um DialogFragment para mostrar uma caixa de diálogo e quero tornar esse DialogFragment não cancelável. Eu tornei a propriedade cancelável da caixa de diálogo em false, mas ainda não está afetando.
Por favor, olhe em meu código e sugira uma solução.
public class DialogTest extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return super.onCreateDialog(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dialog_test, container, true);
getDialog().requestWindowFeature(STYLE_NO_TITLE);
getDialog().setCancelable(false);
return view;
}
}
android
android-dialogfragment
Uma corrida
fonte
fonte
Respostas:
em vez de
getDialog().setCancelable(false);
você tem que usar diretamentesetCancelable(false);
então a resposta atualizada será assim
fonte
Use o seguinte snippet
e se você deseja desativar a caixa de diálogo de toque externo, use a seguinte linha de código
fonte
No caso de você usar o construtor de alerta (e provavelmente em todos os casos você envolve o diálogo dentro de um DialogFragment) para ajudar a construir seu diálogo, por favor, não use getDialog (). SetCancelable (false) ou Dialog.setCancelable (false) porque não vai trabalhos. Use setCancelable (false) conforme mostrado no código abaixo, conforme mencionado na documentação oficial do Android:
Adicionado no nível 11 da API para controlar se a caixa de diálogo exibida pode ser cancelada. Use isto em vez de chamar diretamente Dialog.setCancelable (boolean), porque DialogFragment precisa mudar seu comportamento com base nisso. "
ref: http://developer.android.com/reference/android/app/DialogFragment.html#setCancelable(boolean)
fonte
Solução Simples em DialogFragment
Usava
fonte