4

我正在尝试在 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() 方法可能表明我的方法有问题?任何帮助将非常感激。

4

1 回答 1

3

您应该在第三个参数中使用 int 类型。因此,删除使其成为显式浮点数的“f”。

rv.setFloat(R.id.subject, "setTextSize", 10);
于 2014-01-09T16:06:02.957 回答