Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 共享参考android studio_Java_Android_Android Studio_Sharedpreferences - Fatal编程技术网

Java 共享参考android studio

Java 共享参考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

为什么会这样?如果“打开”已打开另一个活动,自动竞价将返回关闭状态

我之前在onClick方法中声明了SettingPreference,然后将其拖出以移动到onCreate

SettingPreference.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();
        }
}
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