我正在尝试在Widget中设置远程TextView的文本大小,如下所示:
RemoteViews rv = new RemoteViews(mContext.getPackageName(), layoutId);
rv.setFloat(R.id.subject, "setTextSize", 10f);
虽然我可以设置其他属性,如文本颜色或更改视图的可见性,但在使用setTextSize时,通胀失败并显示以下错误消息(无堆栈跟踪):
Error inflating RemoteViews at position: 1, using loading view instead
android.widget.RemoteViews$ActionException:
view: android.widget.TextView doesn't have method: setTextSize (float)
setTextSize(float)具有@RemotableViewMethod注释,因此应该支持它,但是找不到方法(“没有方法”和“不支持”错误之间存在差异)。
为什么它显然不会找到方法呢? 在API 16中为RemoteViews引入setTextViewTextSize()方法可能表明我的方法有问题吗? 任何帮助将不胜感激。
答案 0 :(得分:3)
您应该在第三个参数中使用int类型。因此,删除'f',使其成为显式浮动。
rv.setFloat(R.id.subject, "setTextSize", 10);