private void openNewFolderDialog ( ) { @ SuppressLint ( "InflateParams" ) final View dialogView = getActivity ( ) . getLayoutInflater ( ) . inflate ( R . layout . dialog_new_folder , null ) ; final TextView msgView = ( TextView ) dialogView . findViewById ( R . id . msgText ) ; final EditText editText = ( EditText ) dialogView . findViewById ( R . id . editText ) ; editText . setText ( mNewDirectoryName ) ; msgView . setText ( getString ( R . string . create_folder_msg , mNewDirectoryName ) ) ; final AlertDialog alertDialog = new AlertDialog . Builder ( getActivity ( ) ) . setTitle ( R . string . create_folder_label ) . setView ( dialogView ) . setNegativeButton ( R . string . cancel_label , new DialogInterface . OnClickListener ( ) { @ Override public void onClick ( final DialogInterface dialog , final int which ) { dialog . dismiss ( ) ; } } ) . setPositiveButton ( R . string . confirm_label , new DialogInterface . OnClickListener ( ) { @ Override public void onClick ( final DialogInterface dialog , final int which ) { dialog . dismiss ( ) ; mNewDirectoryName = editText . getText ( ) . toString ( ) ; final int msg = createFolder ( ) ; Toast . makeText ( getActivity ( ) , msg , Toast . LENGTH_SHORT ) . show ( ) ; } } ) . show ( ) ; alertDialog . getButton ( DialogInterface . BUTTON_POSITIVE ) . setEnabled ( editText . getText ( ) . length ( ) != 0 ) ; editText . addTextChangedListener ( new TextWatcher ( ) { @ Override public void beforeTextChanged ( final CharSequence charSequence , final int i , final int i2 , final int i3 ) { } @ Override public void onTextChanged ( final CharSequence charSequence , final int i , final int i2 , final int i3 ) { final boolean textNotEmpty = charSequence . length ( ) != 0 ; alertDialog . getButton ( DialogInterface . BUTTON_POSITIVE ) . setEnabled ( textNotEmpty ) ; msgView . setText ( getString ( R . string . create_folder_msg , charSequence . toString ( ) ) ) ; } @ Override public void afterTextChanged ( final Editable editable ) { } } ) ; editText . setVisibility ( mConfig . allowNewDirectoryNameModification ( ) ? View . VISIBLE : View . GONE ) ; }
Shows a confirmation dialog that asks the user if he wants to create a new folder . User can modify provided name if it was not disallowed .