/
nea
/
androidGroupBuilder
Обзор
Документация
Войти
/
nea
/
androidGroupBuilder
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/src/main/java/com/ea/groupbuilder/AdapterSelectOne.java
175 строк
12 KB
ea
Группа Автоморфизмов отлажено 23_04_2026
23 апр 2026, 17:08
23 апр 2026, 17:08
4513276
Код
Авторство
О чём код?
package com.ea.groupbuilder; import android.content.DialogInterface; import android.util.Log; import android.widget.ArrayAdapter; import androidx.appcompat.app.AlertDialog; public class AdapterSelectOne { // выбор для отчета и для MainActivity private static final String TAG = "GRUGRA_ADAPTER1"; final static private boolean DISPLAYLOG = false; private mAplication mApp; public AlertDialog.Builder builder; public AdapterSelectOne(MainActivity actTabuld, DbHelper dbH, int fFn) { // вызывается при построении группы по p-подгруппе // выбор Р подгруппы, передает выбранную подгруппу в f_setAdapterValue() // fFn - из какой группы вибрать p-подгруппу mApp = (mAplication) actTabuld.getApplication(); String SQlText = "select distinct sylow_num as stext from elements where pe > 0 order by sylow_num asc;"; if (fFn > 0) SQlText = "select distinct sylow_num as stext from elements_n where pe > 0 " + " order by sylow_num asc;"; int cize = dbH.f_getMas(SQlText); if (cize > 1) { new ArrayAdapter<>(actTabuld, R.layout.db_item1, DbHelper.selectedMas); builder = new AlertDialog.Builder(actTabuld); builder.setTitle("") .setItems(DbHelper.selectedMas, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { actTabuld.f_setAdapterValue( DbHelper.selectedMas[which], fFn ); } }) .setCancelable(true); builder.setNegativeButton("Отменить", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); builder.create(); builder.show(); } else if (cize == 1) { actTabuld.f_setAdapterValue( DbHelper.selectedMas[0], fFn ); } } public AdapterSelectOne(dbViewActivity actTaEsche, DbHelper dbH, int indInTable, int nomZapros) { /* indInTable= "32. Таблица умножения силовской подгруппы", "33. Таблица умножения общей подгруппы всиловских подгруппах", "2.18 Подпрограмма сопряжения силовских подгрупп" // 44 6. 7 Классы нормальных подгрупп, построенных по классам" // 66 */ String SelText = "", title = ""; mApp = (mAplication) actTaEsche.getApplication(); switch (indInTable) { case 108: // 9. 4 Действие выбранного автоморфизма", // 108 title = "Выберите автоморфизм"; SelText = "select xxx as stext from (\n" + " select A.ciklos ||' ID G=' || A.link_to_group ||' № ' || A._id as xxx \n" + " from elements_a A\n" + " where not A.link_to_group is null \n" + " union all \n" + " select A.ciklos ||' не в G № ' || A._id as xxx \n" + " from elements_a A\n" + " where A.link_to_group is null \n" + " ) \n" + " order by 1 asc;"; break; case 109: // 9. 5 Действие всех автоморфизмов на выбранный элемент группы", // 109 title = "Выберите элемент группы"; SelText = "select A.ciklos || ' № ' || A._id as stext \n" + " from elements A\n" + " order by A._id asc;"; if (DISPLAYLOG) Log.d(TAG, "AdapterSelectOne indInTable " + indInTable + " SelText = " + SelText); break; case 70: // 7. 6. Силовская подгруппа в составе Sn", // 70 title = "Выберите элемент группы"; SelText = "select distinct 'p = '||S.pe|| ' № ' || S.num as stext \n" + "from sylov_table_n S, elements_n N\n" + "where not id_resech is null and N.id_true = id_s and N.deg > 0 and N.for_n <= " + DbHelper.faktSubsLen + " order by stext asc;"; break; case 99: // 7.14. Отдельная силовская подгруппа группы в силовских подгруппах Sn (без e)", // 99 case 100: // 8. 4. *Коммутант силовской подгруппы", // 100 case 101: // 8. 5. Структура силовской подгруппы", // 101 case 13: // 2. 7. *Подгруппы силова", // 13 Sylow title = "Выберите силовскую подгруппу"; if (indInTable == 99) title += " в построенной группе"; // actTaEsche.flagAuto) { // выбор из группы автоморфизмов if (indInTable == 99) SelText = "select distinct 'p = '||pe|| ' № ' || num as stext from sylov_table order by stext asc;"; else SelText = "select distinct 'p = '||pe|| ' № ' || num as stext from sylov_table" + (actTaEsche.flagAuto ? "_a" : "") + " order by stext asc;"; break; case 34: // 4. 1. *Таблица умножения силовской подгруппы", // Табл умнож 34 title = "Выберите силовскую подгруппу для просмотра таблицы умножения"; SelText = "select distinct 'p = '||pe|| ' № ' || num as stext from sylov_table" + (actTaEsche.flagAuto ? "_a" : "") + " order by stext asc;"; break; case 35: // 4. 2. *Таблица умножения общей подгруппы силовских подгруппах", // Табл умнож 35 title = "Выберите общую группу силовских подгрупп для просмотра таблицы умножения"; SelText = "select distinct 'p = '||pe ||' № '|| nomer1 as stext from sylov_com_grup" + (actTaEsche.flagAuto ? "_a" : "") + " order by stext asc; "; break; case 44: // 2.19. *Порядки найденных P-подгрупп", // 44 title = "Выберите " + nomZapros + "-ю силовскую подгруппу для просмотра подгруппы сопряжения"; SelText = "select distinct 'p = '||pe|| ' № ' || num as stext from sylov_table"+ (actTaEsche.flagAuto ? "_a" : "") + " order by stext asc;"; break; case 46: // 4. 3. *Эпиморфизм на группу подстановок на силовских подгруппах", // 46 case 47: // 4. 4. *Образ при эпиморфизме на группу подстановок на силовских подгруппах", // 47 case 48: // 4. 5. *Ядро при эпиморфизме на группу подстановок на силовских подгруппах", // 48 - все что переходит в 1 = порядок образа = 0 case 49: // 4. 6. *Смежные классы при эпиморфизме на группу подстановок на силовских подгруппах", // 49 case 50: // 4. 7. *Образы силовских подгрупп при эпиморфизме на группу подстановок на силовских подгруппах", // 50 case 51: // 4. 8. *Номера и порядки силовских подгрупп при эпиморфизме на группу подстановок на силовских подгруппах", // 51 case 54: // 4. 9. *Таблица умножения ядра при эпиморфизме на группу подстановок на силовских подгруппах", // 54 title = "Выберите простое число (эпиморфизм) на подстановки силовские подгруппы"; SelText = "select distinct '№ '||pe as stext from sylov_table"+ (actTaEsche.flagAuto ? "_a" : "") + " order by stext asc;"; break; case 57: // 1. 3. *Коммутант любого расчитанного уровня", // 57 // "1. 3 Коммутант любого расчитанного уровня" // 57 select count(*) as ccc from elements where switchboard_num = title = "Выберите уровень коммутанта"; SelText = "select distinct '№ '||switchboard_num as stext from elements" + (actTaEsche.flagAuto ? "_a" : "") + " where switchboard_num > 0 order by stext asc;"; break; case 58: // 4.11. *Таблица умножения коммутанта любого расчитанного уровня", // 58 // "4.11 Таблица умножения коммутанта любого расчитанного уровня" // 58 title = "Выберите уровень коммутанта"; SelText = "select distinct '№ '||switchboard_num as stext from elements" + (actTaEsche.flagAuto ? "_a" : "") + " where switchboard_num > 0 order by stext asc;"; break; case 60: // 6. 6. *Элементы нормальной подгруппы", // 60 pairing_area case 66: // 6. 7. *Порядок подгруппы как состоящую из классов" , // 66 case 67: // 6.10. *Таблица умножения класcов подгруппы (центр не объединяется)", // 67 title = "Выберите подгруппу"; SelText = "select distinct '№ '|| num_maim as stext from sub_structure" + (actTaEsche.flagAuto ? "_a" : "") + " order by stext asc;"; break; default: break; } int cize = dbH.f_getMas(SelText); if (DISPLAYLOG) Log.d(TAG, "AdapterSelectOne indInTable " + indInTable + " cize = " + cize + " SelText = " + SelText); switch (cize) { case 0: title = "Нет ничего для выбора"; break; case 1: // выбор из 1 actTaEsche.f_setAdapterValue( DbHelper.selectedMas[0], indInTable ); return; } new ArrayAdapter<>(actTaEsche, R.layout.db_item1, DbHelper.selectedMas); builder = new AlertDialog.Builder(actTaEsche); builder.setTitle(title) .setItems(DbHelper.selectedMas, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { actTaEsche.f_setAdapterValue( DbHelper.selectedMas[which], indInTable ); } }) .setCancelable(true); builder.setNegativeButton("Отменить", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); builder.create(); builder.show(); } } //--------------------------------