我为我的应用制作了一个包含4个textview的小部件
这4个textview应该从sharepreferences
接收文本小部件工作正常,但获取数据的问题
这是小部件类代码
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.widget.RemoteViews;
import android.widget.*;
import android.content.*;
import android.preference.*;
import android.gesture.*;
public class Widget extends AppWidgetProvider{
TextView b95,b98,mred,mgreen;
public void onReceive(Context context, Intent intent)
{
LoadPreferences();
String action = intent.getAction();
if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action))
{
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget);
AppWidgetManager
.getInstance(context)
.updateAppWidget(
intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS),
views);
}
}
private void LoadPreferences()
{
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String p95 = sharedPreferences.getString("p2p95", "");
String p98 = sharedPreferences.getString("p2p98", "");
String pred = sharedPreferences.getString("p2pred", "");
String pgreen = sharedPreferences.getString("p2pgreen", "");
b95.setText(p95);
b98.setText(p98);
mred.setText(pred);
mgreen.setText(pgreen);
}
}
首先,我在loadpreferences方法中遇到问题(他们说我不能用它)
其次我猜所有加载首选项都是错误的,它与widget一起使用
那么解决方案是什么
任何帮助??
答案 0 :(得分:0)
String Harneet="hi";
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("Name",Harneet);
editor.commit();
在您想要使用以下代码
之后的值SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String p95 = sharedPreferences.getString("p2p95", "Harneet");