Я пытаюсь добавить выбранный флажок в pref, и когда пользователь закроет приложение, pref очистится, но когда я открою приложение, я получаю все флажки, и даже pref не работает после мой кодКак добавить выбранный флажок в pref
public class MainActivity extends AppCompatActivity {
//http://androidopentutorials.com/android-how-to-store-list-of-values-in-sharedpreferences/
private ListView lvData;
private ArrayList<ModelUser> modelUsers;
private ArrayList<ModelUser> modelUserArrayList;
private ModelUser modelUser;
private PrefsManager prefsManager;
private ProgressDialog pDialog;
private String url="";
private MyCustomAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pDialog = new ProgressDialog(this);
// Showing progress dialog before making http request
pDialog.setMessage("Loading...");
pDialog.show();
lvData = (ListView)findViewById(R.id.lvData);
Loaddatas();
}
private void Loaddatas() {
showpDialog();
JsonArrayRequest req = new JsonArrayRequest(url,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d("ress", response.toString());
// Parsing json
for (int i = 0; i < response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
String heder=obj.getString("filterName");
System.out.println("Hader"+heder);
JSONArray details=obj.getJSONArray("getParam");
modelUsers = new ArrayList<>();
modelUserArrayList =new ArrayList<ModelUser>();
for(int j=0;j<details.length();j++)
{
JSONObject det=details.getJSONObject(j);
modelUser = new ModelUser();
modelUser.setUserName(det.getString("paramName"));
// modelUser.setSelected(false);
// modelUser.setId(i);
modelUsers.add(modelUser);
}
mAdapter = new MyCustomAdapter(MainActivity.this,modelUsers);
lvData.setAdapter(mAdapter);
prefsManager = new PrefsManager();
modelUserArrayList = prefsManager.getFavorites(MainActivity.this);
if(modelUserArrayList != null) {
for (int k = 0; k < modelUserArrayList.size(); k++) {
Log.e("User Name ",""+modelUserArrayList.get(k).getUserName());
Log.e("User SElected ",""+modelUserArrayList.get(k).isSelected());
// Log.e("User user Id ",""+modelUserArrayList.get(j).getId());
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
hidepDialog();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("ErrorVolley", "Error: " + error.getMessage());
Toast.makeText(getApplicationContext(),
error.getMessage(), Toast.LENGTH_SHORT).show();
hidepDialog();
}
});
MyApplication.getInstance().addToReqQueue(req, "jreq");
}
private void showpDialog() {
if (!pDialog.isShowing())
pDialog.show();
}
private void hidepDialog() {
if (pDialog.isShowing())
pDialog.dismiss();
}
}
общего предпочтения не ясно, когда приложение закрыть его ясно только тогда, когда вы удалите его или cleardata из установки для этого приложения. –
нормально, но прямо сейчас я не умею хранить данные – rosy
все еще ты там застрял? –