如何在初始加载后动态更改ListView中TextView的TextSize

时间:2016-04-15 20:49:53

标签: android listview textview simplecursoradapter

我有ListView使用SimpleCursorAdapaterSQLlite数据库中提取数据,以填充TextView中的ListView

我允许用户在运行时动态地增加或减少TextSizeTextView的{​​{1}} - 并非所有人都可以在没有眼镜的情况下阅读标准字体大小#39;让他们的读者与他们在一起。

我发现这样做的唯一方法是重新获取光标;在适配器上调用ListView;并使用viewBinder修改TextSize,如下所示。

它有效 - 但肯定这不是正确/最有效的方法 - 看起来我应该能够在没有获取新光标的情况下执行此操作,以便在有人选择增加/减小字体大小时触发viewBinder 。有人能告诉我应该怎么做吗?

这是我现在使用的代码......

选择菜单项以增加字体大小...

changeCursor()

TextSize++; new UpdateListViewCursor().execute(); // extends AsyncTask - 需要获取新光标

UpdateListViewCursor()

private class UpdateListViewCursor extends AsyncTask<Void, Void, Cursor> { @Override protected Cursor doInBackground(Void... params) { // fetch checklist table data anew return CreateChecklistCursor(checklistDbHelper.getReadableDatabase()); } @Override protected void onPostExecute(Cursor cursor) { super.onPostExecute(cursor); // update adapter dataAdapter.changeCursor(cursor); } 代码

ViewBinder()

0 个答案:

没有答案