Android小部件textview与共享偏好



我为我的应用程序制作了一个包含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

那么解决方案是什么呢

帮忙吗? ?

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");

最新更新