/
nea
/
androidGroupBuilder
Обзор
Документация
Войти
/
nea
/
androidGroupBuilder
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/src/main/java/com/ea/groupbuilder/RnActivitySelect.java
182 строки
8 KB
ea
Группа Автоморфизмов отлажено 23_04_2026
23 апр 2026, 17:08
23 апр 2026, 17:08
4513276
Код
Авторство
О чём код?
package com.ea.groupbuilder; import androidx.appcompat.app.AppCompatActivity; import android.content.pm.ActivityInfo; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Spinner; import android.widget.TextView; public class RnActivitySelect extends AppCompatActivity { // выбор для выделения групп вершин RnActivity, KelyActivity, использует static функции из classKely private static final String TAG = "GRUGRA_RN_SELECT"; public DbHelper dbH = null; final static private boolean DISPLAYLOG = false; private mAplication mApp; private TextView textViewSize; private Spinner spinnerMain, // основной выбор spinnerSub; ArrayAdapter<String> adapterMain, adapterSub; private RnActivitySelect mActivity; private SurfaceHolderActivity gActivity; private int jVibrano = -1; // что делать: -1 - выделить или -2 - удалить String[] adapMas; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); setContentView(R.layout.activity_mode_grupp); mApp = (mAplication) getApplication(); dbH = mApp.dbH; mActivity = this; gActivity = mApp.SurfaceActivity; classKely.f_setMasForSelect(dbH, gActivity.flagSn); // устанавливает kelyActivity.valuesColorText для выбора по fab textViewSize = findViewById(R.id.textViewSize); spinnerMain = findViewById(R.id.spinnerColor); spinnerSub = findViewById(R.id.spinnerSub); adapMas = new String[classKely.valuesTextForSelect.length]; if (gActivity.menuFlg == -1) { setTitle("Выделение вершин в Rn"); System.arraycopy(classKely.valuesTextForSelect, 0, adapMas, 0, classKely.valuesTextForSelect.length); } else { setTitle("Укажите какие вершины оставить в Rn"); for (int i=0; i<adapMas.length; i++) adapMas[i] = "Оставить" + classKely.valuesTextForSelect[i].substring(8 ); } adapterMain = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, adapMas); adapterMain.setDropDownViewResource(android.R.layout.simple_spinner_item); spinnerMain.setAdapter(adapterMain); spinnerMain.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView<?> parent, View itemSelected, int selectedItemPosition, long selectedId) { jVibrano = selectedItemPosition; if (jVibrano > 3) { String strSql = classKely.f_selectedItemPos(jVibrano, gActivity.flagSn); // возвращает strSql - строка для dbH.f_getMas(strSql); if (DISPLAYLOG) Log.e(TAG, "onItemSelected jVibrano = " + jVibrano + " gActivity.menuFlg= " + gActivity.menuFlg + " strSql=" + strSql + " flagSn = " + gActivity.flagSn); int nRow = dbH.f_getMas(strSql); if (nRow == 0) { textViewSize.setText("НЕТ ДАННЫХ"); return; } if (gActivity.menuFlg == -1) { textViewSize.setText("Уточните какие элементы гуппы " + (gActivity.flagSn ? "Sn" : "") + " выделить"); } else { textViewSize.setText("Уточните какие элементы гуппы " + (gActivity.flagSn ? "Sn" : "") + "не удалять"); } adapterSub = new ArrayAdapter<String>(mActivity, // адаптер уточнения android.R.layout.simple_spinner_item, DbHelper.selectedMas); adapterSub.setDropDownViewResource(android.R.layout.simple_spinner_item); spinnerSub.setAdapter(adapterSub); } else { // коммутант, центр - пустой адаптер String nul [] = {""}; if (gActivity.menuFlg == -1) { textViewSize.setText("Какие элементы гуппы " + (gActivity.flagSn ? "Sn" : "") + " выделить"); } else { textViewSize.setText("Какие элементы гуппы " + (gActivity.flagSn ? "Sn" : "") + "не удалять"); } adapterSub = new ArrayAdapter<String>(mActivity, android.R.layout.simple_spinner_item, nul); adapterSub.setDropDownViewResource(android.R.layout.simple_spinner_item); spinnerSub.setAdapter(adapterSub); } } @Override public void onNothingSelected(AdapterView<?> adapterView) { } }); } public void onButtonApplyClick(View v) { // jVibrano = (int) spinnerMain.getSelectedItemId(); пункт первого выбора установлено, сделан выбор в spinerSub String www = "", num = ""; int n1 = 0, n2 = 0; long j = 0; if (textViewSize.getText().equals("НЕТ ДАННЫХ")) { onButtonZClick(v); return; } if (jVibrano > 3) { j = spinnerSub.getSelectedItemId(); if (DISPLAYLOG) Log.e(TAG, "onButtonApplyClick j = '" + j + "' DbHelper.selectedMas = " + DbHelper.selectedMas.length + " adapMas = " + adapMas.length); www = DbHelper.selectedMas[(int) j]; // выделяю номер n1 = www.indexOf("= ") + 2; if (jVibrano == 4) // Выделить цикловой тип n2 = www.indexOf(" всего", n1); else n2 = www.indexOf(" ", n1); if (jVibrano == 4 || jVibrano == 5 || jVibrano == 8 || jVibrano == 9 || jVibrano == 10 || jVibrano == 11 || jVibrano == 13 ) num = www.substring(n1, n2); else num = www.substring(n1); } if (DISPLAYLOG) Log.e(TAG, "onButtonApplyClick " + www + " =|" + num + "| n1 = " + n1 + " n2 = " + n2 + " j = " + j + " adapMas = " + adapMas.length); gActivity.modelGroupNum = num; gActivity.modeGroupFlag = jVibrano; gActivity.insrtStr = classKely.f_setInsetr(jVibrano, num, gActivity.flagSn, dbH); // заносит в temp_pe id_1 = _id gActivity.menuFlg = -gActivity.menuFlg; // if (gActivity.menuFlg == 2) // gActivity.lineFlg = -1; // точки перечитаны gActivity.posCreated = 0; // пересчитать точки и матрицу и координаты if (DISPLAYLOG) Log.e(TAG, "onButtonApplyClick gActivity.menuFlg= " + gActivity.menuFlg + " gActivity.insrtStr=" + gActivity.insrtStr + " flagSn = " + gActivity.flagSn); finish(); } public void onButtonZClick(View v) { // сброс - убрать все выделения gActivity.modelGroupNum = ""; gActivity.insrtStr = "delete from temp_pe;"; gActivity.modeGroupFlag = -3; gActivity.menuFlg = 1; gActivity.posCreated = 0; // пересчитать точки и матрицу и координаты // Log.e(TAG, "onButtonZClick checkBoxVal=" + checkBoxVal); finish(); } public void onButtonCancelClick(View v) { gActivity.menuFlg = 0; finish(); } } //-----------------------