Я искал и нашел много разных ответов для этого вопроса, но ничего не устраивает для меня. Total android n00b, и я прошу вашего терпения заранее.Android: Реализация базового диалога
I'm having trouble dealing with a FileChooser problem with Android KitKat. As per [here][1], and according to [Steve N][2] i get the impression that this file chooser problem is caused by my android version (4.4.2)
Учитывая, что filechooser не работает, я хочу реализовать базовый диалог. Я собираюсь проверить номер версии Android для устройства, а затем отобразить сообщение, ссылаясь на текущую нехватку поддержки, если номер версии возвращается с 4.4 спереди.
В настоящее время, я просто используя тост
public boolean checkVersionSupport(){
if (Build.VERSION.RELEASE.equals("4.4.2") {
Toast toast = Toast.makeText(context, androidOS, duration);
toast.show();
}
}
Вместо тоста, я хотел бы простой, диалоговое окно одной кнопки, чтобы открыть, с кнопкой ОК, который я буду использовать для перенаправления пользователь из собственного приложения и выключен в chrome, где вся команда выбора файла работает.
Пара вещей, которые я нашел трудными после прочтения материалов для разработчиков Android.
Нужен ли мне XML-файл макета для диалогового окна?
Где я могу поместить файл класса для класса MyAlertDialogFragment, который я создаю? Может ли он находиться где-нибудь в папке java или он должен находиться в подпапке java/com.myproject ... И какое влияние это оказывает на импорт этого класса в файл java-активности?
Может кто-нибудь объяснить, где FragmentAlertDialog исходит из материалов для разработчиков Android.
public static class MyAlertDialogFragment extends DialogFragment { public static MyAlertDialogFragment newInstance(int title) { MyAlertDialogFragment frag = new MyAlertDialogFragment(); Bundle args = new Bundle(); args.putInt("title", title); frag.setArguments(args); return frag; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { int title = getArguments().getInt("title"); return new AlertDialog.Builder(getActivity()) .setIcon(R.drawable.alert_dialog_icon) .setTitle(title) .setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { ((**FragmentAlertDialog**)getActivity()).doPositiveClick(); } } ) .setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { ((**FragmentAlertDialog**)getActivity()).doNegativeClick(); } } ) .create(); } }
Что лучше всего подходит для значков? Я вижу дискуссию по этому поводу, но для простой цели - иметь значок в верхней части диалогового окна, для одного базового использования, каким будет самый быстрый способ сделать это? Я просто копирую файлы в папку res и ссылаясь на них ... 48dp? Это может быть совершенно другой вопрос.
Если вы хотите выбрать файл, вы должны посмотреть исходный код для некоторых уже существующих библиотек, они полезны - мне это особенно интересно: https://github.com/spacecowboy/NoNonsense-FilePicker – EpicPandaForce
Я не слишком сильно нажимаю на то, чтобы заставить сборщик файлов работать. Я достаточно доволен, что пока не поддерживаю эту версию Android. Если релиз lollipop будет продолжаться для моего мобильного провайдера, то я пересматриваю, но я ожидаю, что обновление будет выпущено довольно скоро. Но спасибо! Я ценю усилия, направленные на то, чтобы решить, что, несомненно, является большой проблемой. К сожалению, это более простая проблема реализации диалога, в которой я застрял в mo. –