Правильный способ помещения данных в базу данных из диалогового интерфейса

Я несколько застрял с поиском правильной функции. За это fab, Я могу позвонить onActivityResult, как показано ниже:

   FloatingActionButton fab = findViewById(R.id.fab);
      fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
          Intent intent = new Intent(PlacesActivity.this, TmpActivity.class);
          startActivityForResult(intent, NEW_WORD_ACTIVITY_REQUEST_CODE);
        }
      });

ActivityResult

  public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == NEW_WORD_ACTIVITY_REQUEST_CODE && resultCode == RESULT_OK) {
      Places word = new Places("Hello", "100", "23");
      mPlacesViewModel.insert(word);
    } else {
      Toast.makeText(
          getApplicationContext(),
          "Not Saved",
          Toast.LENGTH_LONG).show();
    }
  }

Но проблема в том, что я не хочу, чтобы завод начал работу, и хочу получить результат от AlertDialog интерфейс, как:

          placeLLDialog.setTitle("Add Place with Latitude and Longitude")
            .setPositiveButton("Add", new DialogInterface.OnClickListener() {
              @Override
              public void onClick(DialogInterface dialogInterface, int i) {
                //Some way to get the result from Dialog's EditText
                //What I am doing at present
                final Places places = new Places("Hello", "200", "324");
                mPlacesViewModel.insert(places);
              }
            })
            .setNegativeButton("Cancel", null)
            .show();

Итак, это то, что я сейчас делаю, то есть просто вручную получаю текст из текста редактирования и помещаю в базу данных, где мне не нужно использовать какую-либо функцию. Это работает нормально, но немного медленно (пропущено 44 кадра!)

Вопрос в том, является ли это правильным способом сделать это, и как я могу поместить это в какой-то рабочий поток.

Пожалуйста, помогите.

0 ответов

Другие вопросы по тегам