Форум программистов, компьютерный форум CyberForum.ru

Создание своего простейшего диалога - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Передача команд с телефона на компьютер (wifi) http://www.cyberforum.ru/android-dev/thread1756897.html
Доброго времени суток . Друзья , хочу реализовать ,условно говоря, дистанционное управление компьютером с телефона , пока нашел инфу что проще сделать если они находятся в одной сети вайфай . Для этого сделать клиентский сокет для телефона и серверный для компьютера . Буду использовать андроид . Подскажите как удобнее всего это сделать , если кто знает . И с чего начать ).(я раньше с таким не...
Android Исходный код Android Studio Добрый день, имеется исходный код написанный в Android studio Очень срочно нужно этот код вывести в рабочую программу, кто может помочь? http://www.cyberforum.ru/android-dev/thread1756879.html
Listener SQLite Android
Если какой нибудь стандпртный слушатель изменений в SQLite android. Ну например добавили или удалили что нибудь из базы данных и он в этот момент срабатывает? Если да то какой?
Android Не могу разобраться в логах, где ошибка?
Приложение не запускается на Андроид устройствах Помогите пожалуйста разобраться в этом!! 06-07 10:35:51.829: E/AndroidRuntime(1283): FATAL EXCEPTION: main 06-07 10:35:51.829: E/AndroidRuntime(1283): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{info.androidhive.androidvideostreaming/info.androidhive.androidvideostreaming.MainActivity}:...
Android Как заполнить в ListView второй element из Jsoup? http://www.cyberforum.ru/android-dev/thread1756715.html
protected String doInBackground(String... arg) { Document doc; try { doc = Jsoup.connect("http://site.com/catalog/1/").get(); content = doc.select(".product-name"); price = doc.select(".price"); products.clear(); for (Element contents : content) {
Android Анимация по кнопке Как сделать, чтобы при втором нажатии на кнопку срабатывала другая анимация? Не понимаю что прописать в условии. public void onClickleft(View view) { mImageViewBoo.startAnimation(LeftAnim); mImageView4.setImageResource(mImageResources.get(t3)); t4 = t3; mImageView3.setImageResource(mImageResources.get(t2)); t3 = t2; подробнее

Показать сообщение отдельно
AlexV1
-2 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 33

Создание своего простейшего диалога - Android

07.06.2016, 15:13. Просмотров 398. Ответов 11
Метки (Все метки)

Добрый день!

Решил разработать свой простой диалог (универсальный отдельный класс) и многократно использовать его (вызывать) из разных Activity для разных нужд.
Так, чтобы можно было задавать заголовок, текст, иконку, названия кнопок, а не городить кучу однотипных диалогов с разными надписями на все случаи жизни.
Многочисленные примеры в интернете указывают что нужно делать так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
 
public class MyAlertDialogFragment extends DialogFragment implements DialogInterface.OnClickListener {
 
    public static final int RESULT_POSITIVE = 1;
    public static final int RESULT_NEGATIVE = 2;
    public static final int RESULT_NEUTRAL = 3;
 
    public int resultDialog;
 
    @Override
    public Dialog onCreateDialog(Bundle saveInstanceState) {
        AlertDialog.Builder adb = new AlertDialog.Builder(getActivity())
                .setCancelable(true)
                .setTitle("Title тут")
                .setNegativeButton("no", this)
                .setPositiveButton("yes", this)
                .setNeutralButton("neutral", this)
                .setMessage("body msg");
 
        adb.setPositiveButton("OK", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                // User clicked positive button
                resultDialog = MyAlertDialogFragment.RESULT_POSITIVE;
                dialog.cancel();
            }
        });
 
        adb.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                // User clicked positive button
                resultDialog = MyAlertDialogFragment.RESULT_NEGATIVE;
                dialog.cancel();
            }
        });
 
        adb.setNeutralButton("Neutral", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                // User clicked positive button
                resultDialog = MyAlertDialogFragment.RESULT_NEUTRAL;
                dialog.cancel();
            }
        });
 
        return adb.create();
    }
 
    @Override
    public void onDismiss(DialogInterface dialog) {
        super.onDismiss(dialog);
    }
 
    @Override
    public void onCancel(DialogInterface dialog) {
        super.onCancel(dialog);
    }
}
Вызываю из другой Activity так:

Java
1
2
3
4
5
6
7
MyAlertDialogFragment D = new MyAlertDialogFragment();
FragmentManager fm = getSupportFragmentManager();
D.show(fm, "test dialog");
 
if (D.resultDialog == MyAlertDialogFragment.RESULT_POSITIVE) Log.d("text","Позитив");
if (D.resultDialog == MyAlertDialogFragment.RESULT_NEGATIVE) Log.d("text","Негатив");
if (D.resultDialog == MyAlertDialogFragment.RESULT_NEUTRAL) Log.d("text","Нейтрал");

Запускаем и видим вот что:

1) На строке
Java
1
D.show(fm, "test dialog");
происходит построение диалога - вызов MyAlertDialogFragment.onCreateDialog()
А почему-то не при создании моего класса - строке
Java
1
MyAlertDialogFragment D = new MyAlertDialogFragment()
? - я ожидал что он сконструируется именно при создании.
Это нормально? Почему так, объясните в 2-х словах у кого опыт есть.

2) Нельзя из Activity перед открытием диалога настроить у него Title, text, icon, надписи на кнопках.
А мне это нужно, т.к. класс универсальный делаю.
Как бы его так модернизировать, чтобы перед show можно было настроить диалог?

3) Строка
Java
1
D.show(fm, "test dialog");
показывает диалог, НО не останавливает выполнение программы в моей Activity (не ждет пока юзер ответит Да/Нет/Не знаю) а идет на проверку результата выбора в диалоге.
Хотелось бы конечно не внутри класса MyAlertDialogFragment обрабатывать результат, а в вызывающем Activity, т.к. в разных случаях будет разная обработка.
Как тут лучше поступить?

Спасибо заранее за дельные советы.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru