Обработка EditText и передача в БД

344
08 августа 2017, 14:14

Подскажите, как я могу считать данные с EditText и прогнать их через метод в другом классе?

Вот мой MainActivity:

public class MainActivity extends AppCompatActivity {
CoverDB coverDB;
Button btn_addDepartment;
EditText departmentName,description;
String nameDepartment;
String descriptionDepatment;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Stetho.initializeWithDefaults(this);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    final AlertDialog.Builder addDepartmentWindow = new AlertDialog.Builder(this);
    View linearlayout = getLayoutInflater().inflate(R.layout.dialog_add_departments, null);
    addDepartmentWindow.setView(linearlayout);
    departmentName = (EditText) linearlayout.findViewById(R.id.departmentName);
    description = (EditText) linearlayout.findViewById(R.id.description);
    btn_addDepartment = (Button) linearlayout.findViewById(R.id.btn_addDepartment);
    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            addDepartmentWindow.setTitle("Add Department");
            addDepartmentWindow.setNegativeButton("Cancel",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();
                        }
                    });
            addDepartmentWindow.create();
            addDepartmentWindow.show();
        }
    });
    ReaderDB readerDB = new ReaderDB(this);
    coverDB = new CoverDB(readerDB);
    coverDB.addDepartments(nameDepartment, descriptionDepatment);

    btn_addDepartment.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // обработка нажатия на кнопку Добавить 
        }
    });

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}
}

Мой метод, который обрабатывает добавление (Лежит в классе CoverDB)

public void addDepartments(String name, String description) {
    ContentValues values = new ContentValues();
    values.put(StructureDB.TableDepartments.COLUMN_NAME_TITLE, name);
    values.put(StructureDB.TableDepartments.COLUMN_NAME_DESCRIPTION, description);
    SQLiteDatabase db = this.db;
    db.insert(StructureDB.TableDepartments.TABLE_NAME, null, values);
}
Answer 1

Алгоритм действий должен быть примерно таким:

  1. Назначаем слушатель нажатия на ОК кнопку диалога.
  2. В нём вытаскиваем текст из полей ввода и передаём в ваш метод:
addDepartmentWindow.setPositiveButton("OK",
        new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                ReaderDB readerDB = new ReaderDB(this);
                coverDB = new CoverDB(readerDB);
                coverDB.addDepartments(departmentName.getText().toString(), description.getText().toString());
            }
        });
READ ALSO
Как разрешить ввод тэга <i> в TinyMCE

Как разрешить ввод тэга <i> в TinyMCE

В моей cms есть настройка с adminareasettingsricheditoradditionalsettings и значением settings

382
Как увеличить зону клика ссылки?

Как увеличить зону клика ссылки?

Использую ползунок (input type range)Дело в том, что по макету он в 1px и все идеально, только вот кликнуть по нему очень сложно, надо попасть в этом...

384
Как сделать цепочку выбора на JS?

Как сделать цепочку выбора на JS?

Есть 4 менюшкив ней li

423