Я не знаю, почему следующая кодировка всегда возвращает ложь, даже если она ИСТИННА.То, что я сравниваю, это результат ввода пользователем текста в строковой переменной «classNameGlobal» и второй результат запроса к БД, в результате чего получено строковое значение из столбца таблицы.Всякий раз, когда я запускаю управление, переключается в другое состояние, не запуская if part -.-
Пожалуйста, посмотрите.
String result[];
result = new String[cursor.getCount() - 1];
int i = 0;
while (cursor.moveToNext()) {
result[i] = cursor.getString(cursor.getColumnIndex("name"));
i++;
}
classNameGlobal = className.getText().toString().toUpperCase().trim();
Примечание. Все, если приведенный выше код написан методом onclick, за исключением объявления этого массива результатов.Кроме того, я использую тот же метод для хранения строки в базе данных, т.е. я преобразую ее в верхний регистр, а затем запускаю все лишние пробелы !!!Даже когда я сбрасываю результаты запроса и тат, пользователь вводит строку.Оба одинаковы.СЕЙЧАС почему я всегда продолжаю запускать эту часть, а не часть if -.- Метод, который я использую для сравнения результатов запроса к базе данных и введенной пользователем строки:
for (int b = 0; b < result.length; b++) {
if (classNameGlobal == result[b]) {
Log.d(TAG, "Inside if condition now : " + result[b] + " \t" + classNameGlobal);
db.execSQL("drop table if exists " + classNameGlobal);
/* Deleting Code File */
this.deleteFile(classNameGlobal + ".txt");
Toast.makeText(
this,
classNameGlobal + " Database Dropped Successfully ",
Toast.LENGTH_SHORT).show();
break;
} else {
Toast.makeText(
this,
"No Such Database Exists",
Toast.LENGTH_SHORT).show();
}
}