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 для выбора запроса. пожалуйста помоги

0 ответов

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