如何将这个sharedPrefs.getString用于我的Runnable?
private Runnable updateCounterThread = new Runnable() {
public void run() {
timeInMilliseconds = SystemClock.uptimeMillis() - startTime;
updatedTime = timeSwapBuff + timeInMilliseconds;
String tauxhoraire = sharedPrefs.getString("taux_horaire", "NULL");
double taux=Double.parseDouble(tauxhoraire) * 100;
int centimes = (int) (updatedTime / 1000 * (taux / 60 / 60)) ;
int euros = centimes / 100;
centimes = centimes % 100;
counterVal.setText("" + euros + ","
+ String.format("%02d", centimes) + " €");
customHandler.postDelayed(this, 0);
}
};
因为当我喜欢它时,它是一个错误" sharedPrefs无法解决"但是我无法在循环中导入它。
当我将它添加到循环中
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
我有这个错误" PreferenceManager类型中的方法getDefaultSharedPreferences(Context)不适用于参数(new Runnable(){})"
所以我尝试将它添加到我的第一个循环
中 @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
String tauxhoraire = sharedPrefs.getString("taux_horaire", "NULL");
但由第一个错误" sharedPrefs导致无法解决"
由于
答案 0 :(得分:1)
在你创建的Runnable对象中,没有
的可见性<强> sharedPrefs 强>
在您使用的第一条路径上。
在第二个路径中(抛出的方法,PreferenceManager类型中的方法getDefaultSharedPreferences(Context)不适用于参数(new Runnable(){})&#34; )错误是因为 this
被称为Runnable,必须引用一个Context,例如一个Activity。
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
您可以尝试按照第一条路径声明
SharedPreferences sharedPrefs
活动
的成员public class MainActivity extends Activity {
private SharedPreferences sharedPrefs ;