Spannable дает исключение nullpointer для textview.geteditabletext()
В моем приложении для Android я реализовал полужирный, курсивный и нормальный функционал, используя spannable и HTML.toHTML() , HTML.fromHTML()
.
Здесь я храню данные HTML в базе данных sqllite.
Теперь я хочу удалить строки, но это не позволяет удалять строки, поскольку я сохранил их в формате HTML.
ниже мой запрос выбора, из которого я хочу получить подробную информацию для удаления строки.
SELECT ID,name,function,front_page_desc,back_page_desc FROM test_db WHERE front_page_desc = 'test1' and back_page_desc = 'test2'
Значения front_page_desc и back_page_desc в запросе поступают из textview. поэтому здесь я беру значения, как показано ниже
String front_page_desc = Html.toHtml(frontpage.getEditableText()).toString();
String back_page_desc = Html.toHtml(backpage.getEditableText()).toString();
но приведенная выше строка кода дает мне ошибку в текстовом представлении
09-12 12:32:59.388 1286-1286/com.example.test W/System.err: java.lang.NullPointerException: попытка вызвать метод интерфейса int android.text.Spanned.length() для нулевого объекта ссылка
09-12 12:32:59.398 1286-1286/com.example.test W/System.err: на android.text.Html.withinHtml(Html.java:158)
09-12 12:32:59.398 1286-1286/com.example.test W/System.err: на android.text.Html.toHtml(Html.java:144)
если я печатаю текстовое изображение... frontpage.getText().toString(); тогда он дает значение, которое означает, что значение textview не равно нулю, тогда почему я получаю исключение nullpointer в spannable. пожалуйста помоги
TextView frontv = findViewById(R.id.front_page_data);
TextView backv = findViewById(R.id.back_page_data);
System.out.println("==== frontv.getText().toString()====="+ frontv.getText().toString());
System.out.println("==== backv.getText().toString()====="+ backv.getText().toString());
Cursor data = mDatabaseHelper.getItemID(nametemp, namefunction, Html.toHtml(frontv.getEditableText()).toString(), Html.toHtml(backv.getEditableText()));
if (data.moveToNext()) {
//get the value from the database in column 1
//then add it to the ArrayList
String itemId = data.getString(0);
String namename = data.getString(1);
String namefunc = data.getString(2);
String frontpagetxt = data.getString(3);
String backpagetxt = data.getString(4);
System.out.println("====itemId====="+itemId);
System.out.println("====namename====="+namename);
System.out.println("====namefunc====="+namefunc);
System.out.println("====frontpagetxt====="+frontpagetxt);
System.out.println("====backpagetxt====="+backpagetxt);
mDatabaseHelper.deletePage(itemId, namename, namefunc, frontpagetxt, backpagetxt);
Intent intent = new Intent(ViewnamePages.this, ViewnamePages.class);
intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.putExtra("namedetails",namename);
startActivity(intent);
}
}catch (Exception e)
{
e.printStackTrace();
}
finally {
mDatabaseHelper.close();
}
// Toast.makeText(this, "User Clicked on delete", Toast.LENGTH_SHORT).show();
}
Я хочу, чтобы запрос выбора возвращал данные html, хранящиеся в БД, чтобы я мог удалить строку. но поскольку я получаю исключение нулевого указателя на Html.toHtml(frontpage.getEditableText()).toString(), я не могу отправить данные html textview для выбора запроса. пожалуйста помоги