Java 共享参考android studio
为什么会这样?如果“打开”已打开另一个活动,自动竞价将返回关闭状态 我之前在onClick方法中声明了SettingPreference,然后将其拖出以移动到onCreate SettingPreference.javaJava 共享参考android studio,java,android,android-studio,sharedpreferences,Java,Android,Android Studio,Sharedpreferences,为什么会这样?如果“打开”已打开另一个活动,自动竞价将返回关闭状态 我之前在onClick方法中声明了SettingPreference,然后将其拖出以移动到onCreate SettingPreference.java public class SettingPreference { private static String KEY_AUTO_BID = "AUTO_BID"; private SharedPreferences pref; private SharedPref
public class SettingPreference {
private static String KEY_AUTO_BID = "AUTO_BID";
private SharedPreferences pref;
private SharedPreferences.Editor editor;
public SettingPreference(Context context) {
pref = context.getSharedPreferences(MyConfig.SETTING_PREF, Context.MODE_PRIVATE);
}
...
public void updateAutoBid(String autoBid) {
editor = pref.edit();
editor.putString(KEY_AUTO_BID, autoBid);
editor.apply();
}
...
}
public class DashboardFragment extends Fragment implements OnMapReadyCallback,
GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener, LocationListener {
private SettingPreference sp;
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
activity = (MainActivity) getActivity();
sp = new SettingPreference(activity);
btnauto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//SettingPreference sp = new SettingPreference(activity);
if(sp.getSetting()[0].equals("OFF")){
sp.updateAutoBid("ON");
btnauto.setText(R.string.on);
//Log.i("AUTO_BID" , sp.getSetting()[0]);
Toast.makeText (activity, "Autobid Aktif.", Toast.LENGTH_SHORT).show();
}else{
sp.updateAutoBid("OFF");
btnauto.setText(R.string.off);
//Log.i("AUTO_BID", sp.getSetting()[0]);
Toast.makeText(activity, "Autobid Nonaktif.", Toast.LENGTH_SHORT).show();
}
}
});
if(sp.getSetting()[0].equals("OFF")){
//sp.updateAutoBid("ON");
btnauto.setText(R.string.on);
Log.i("AUTO_BID" , sp.getSetting()[0]);
//Toast.makeText(activity, "Autobid Aktif.", Toast.LENGTH_SHORT).show();
}else if(sp.getSetting()[0].equals("ON")){
//sp.updateAutoBid("OFF");
btnauto.setText(R.string.off);
Log.i("AUTO_BID", sp.getSetting()[0]);
//Toast.makeText(activity, "Autobid Nonaktif.", Toast.LENGTH_SHORT).show();
}else {
//Toast.makeText(activity,"Auto Bid Not Update", Toast.LENGTH_SHORT).show();
}
}
DashboardFragment.java
public class SettingPreference {
private static String KEY_AUTO_BID = "AUTO_BID";
private SharedPreferences pref;
private SharedPreferences.Editor editor;
public SettingPreference(Context context) {
pref = context.getSharedPreferences(MyConfig.SETTING_PREF, Context.MODE_PRIVATE);
}
...
public void updateAutoBid(String autoBid) {
editor = pref.edit();
editor.putString(KEY_AUTO_BID, autoBid);
editor.apply();
}
...
}
public class DashboardFragment extends Fragment implements OnMapReadyCallback,
GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener, LocationListener {
private SettingPreference sp;
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
activity = (MainActivity) getActivity();
sp = new SettingPreference(activity);
btnauto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//SettingPreference sp = new SettingPreference(activity);
if(sp.getSetting()[0].equals("OFF")){
sp.updateAutoBid("ON");
btnauto.setText(R.string.on);
//Log.i("AUTO_BID" , sp.getSetting()[0]);
Toast.makeText (activity, "Autobid Aktif.", Toast.LENGTH_SHORT).show();
}else{
sp.updateAutoBid("OFF");
btnauto.setText(R.string.off);
//Log.i("AUTO_BID", sp.getSetting()[0]);
Toast.makeText(activity, "Autobid Nonaktif.", Toast.LENGTH_SHORT).show();
}
}
});
if(sp.getSetting()[0].equals("OFF")){
//sp.updateAutoBid("ON");
btnauto.setText(R.string.on);
Log.i("AUTO_BID" , sp.getSetting()[0]);
//Toast.makeText(activity, "Autobid Aktif.", Toast.LENGTH_SHORT).show();
}else if(sp.getSetting()[0].equals("ON")){
//sp.updateAutoBid("OFF");
btnauto.setText(R.string.off);
Log.i("AUTO_BID", sp.getSetting()[0]);
//Toast.makeText(activity, "Autobid Nonaktif.", Toast.LENGTH_SHORT).show();
}else {
//Toast.makeText(activity,"Auto Bid Not Update", Toast.LENGTH_SHORT).show();
}
}
伙计们,你们能帮我吗?你们可以看看如何使用。我的朋友我发现了问题,问题在于if-else