我有一个PreferenceActivity,用户可以在其中选择Widget应用的TextView的大小。按下Widget时会调用该活动。我在OnPause中设置文本大小,但它不起作用。代码有问题吗?
public class WidgetSettings extends PreferenceActivity
{
private int mAppWidgetId = 0;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.widget_setttings_layout);
Intent intent = getIntent();
Bundle extras = intent.getExtras();
if (extras != null) {
mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
}
}
@Override
protected void onPause()
{
super.onPause();
float textSize = Float.parseFloat(PreferenceManager.getDefaultSharedPreferences(this).getString("batteryTextSize", "12"));
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(getBaseContext());
RemoteViews remoteView = new RemoteViews(getBaseContext().getPackageName(), R.layout.widget_layout);
remoteView.setFloat(R.id.textView1, "setTextSize", 22);
appWidgetManager.updateAppWidget(mAppWidgetId, remoteView);
}
}
答案 0 :(得分:0)
我的应用程序中有这个。
// Update the widget
Intent intent = new Intent(this, Widget.class);
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
int[] ids = { R.xml.widget };
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids);
sendBroadcast(intent);
然后在您的应用小部件提供程序onUpdate(设置远程视图后):
//appWidgetManager.updateAppWidget(appWidgetIds, views);
AppWidgetManager.getInstance(context).updateAppWidget(new ComponentName(context, Widget.class), views);
第一个是文档所说的。我发现第二个按预期工作了。
答案 1 :(得分:0)
您应该只使用以下方法。
rm -rf node_modules && npm install
我知道晚了。但是,我希望它对其他人有帮助。