Проверка пустоты EditText и отправка Toast - / избегайте сохранения пустых данных в SQLite - PullRequest
0 голосов
/ 12 июня 2018

Извините, что потратил ваше время, мне задали вопрос очень неправильно.

Итак, что я сейчас делаю, небольшая программа-блокнот, в которой заголовок и содержимое сохраняются в заметке в базе данных SQLite.

Эта часть работает как следует, но у меня нет никакой проверки ввода, и приложение сохраняет заметку с пустым заголовком и содержимым.

есть мой текущий код для этого:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        dba = new DatabaseHandler(MainActivity.this);

        title = (EditText) findViewById(R.id.titleEditText);
        content = (EditText) findViewById(R.id.wishEditText);
        saveButton = (Button) findViewById(R.id.saveButton);
        saveButton.setOnClickListener(new View.OnClickListener() {

                @Override
            public void onClick(View v) {
                saveToDB();
            }
        });

        }

    private void saveToDB() {

        MyNote wish = new MyNote();
        wish.setTitle(title.getText().toString().trim());
        wish.setContent(content.getText().toString().trim());

        dba.addWishes(wish);
        dba.close();
        //clear
        title.setText("");
        content.setText("");
         Intent i = new Intent(MainActivity.this, DisplayNotesActivity.class);
         startActivity(i);

     How can I implement a basic input checking and avoid the saving of empty notes?
     my first idea was to check the emptiness of the input and drop a toast message, tried several solutions from not, but not worked me.
     many thanks
     C

Ответы [ 3 ]

0 голосов
/ 12 июня 2018

Вам нужно уточнить ваш вопрос.Но из того, что я понял, вы не знаете, как проверить, что editText пуст, и не знаете, почему не можете записать в текстовое поле.

Первый простой метод - просто проверить длину строки, если она больше 0, этозначит, это не пусто

        EditText title = (EditText) findViewById(R.id.IDEDITTEXT);
        if(String.valueOf(title.getText()).length()>0){
            //do something
        }else{
            //do something
        }

И, во-вторых, я проверяю ваш XML-файл (макет), включен ли ваш editText, а не textViev.

Кстати, ваш код сложенчитать как твой вопрос:)

0 голосов
/ 13 июня 2018
EditText title = (EditText) findViewById(R.id.titleEditText);
if(title.getText().toString().length()<=0) {
           Toast.makeText(MainActivity.this, "Input Text Is Empty.. Please Enter Some Text", Toast.LENGTH_SHORT).show();
 }
else {
     Toast.makeText(MainActivity.this, title.getText().toString(), Toast.LENGTH_SHORT).show();
     }
   }
 });

попробуйте этот код ...

0 голосов
/ 12 июня 2018

Вы должны быть уверены, что используете ту же переменную EditText, которая в данном случае, я думаю, является заголовком.

EditText title = (EditText) findViewById(R.id.titleEditText);
if(title.getText().toString().isEmpty()) {
                        Toast.makeText(MainActivity.this, "Input Text Is Empty.. Please Enter Some Text", Toast.LENGTH_SHORT).show();
                 }
                 else {
                        Toast.makeText(MainActivity.this, title.getText().toString(), Toast.LENGTH_SHORT).show();
                 }
               }
          });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...