Как навсегда удалить объект json из массива json? - PullRequest
0 голосов
/ 13 октября 2018

У меня есть просмотр списка, который отображает список пользователей.То, что я хочу, это когда пользователь нажимает на любой элемент, он должен быть удален из массива json.Приведенный ниже код работает нормально, но когда приложение запускается снова, оно снова отображает всех пользователей.

private void showStudentInfo(final List<StudentDetails> studentDetails) {

    if(studentDetails != null) {
            final ArrayList<Map<String, Object>> itemDataList = new ArrayList<>();

            int size = studentDetails.size();

            for(int i=0; i<size; i++)
            {
                StudentDetails student = studentDetails.get(i);

                Map<String,Object> listItemMap = new HashMap<>();
                listItemMap.put("id",  student.getId());
                listItemMap.put("name", student.getName());
                itemDataList.add(listItemMap);
            }

            final SimpleAdapter simpleAdapter = new SimpleAdapter(this,itemDataList,android.R.layout.simple_list_item_2,
                new String[]{"id","name"},new int[]{android.R.id.text1,android.R.id.text2});


            studentListView.setAdapter(simpleAdapter);
            studentListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                @Override
                public void onItemClick(final AdapterView<?> parent, View view, final int position, long id) {

                    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);

                    alertDialogBuilder.setPositiveButton("View", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(MainActivity.this, selectedItem, Toast.LENGTH_SHORT).show();
                            Intent intent = new Intent(MainActivity.this, DetailsActivity.class);
                            intent.putExtra("id",studentDetails.get(position).getId());
                            intent.putExtra("name",studentDetails.get(position).getName());
                            intent.putExtra("email",studentDetails.get(position).getEmail());
                            intent.putExtra("phone",studentDetails.get(position).getPhone());
                            intent.putExtra("address",studentDetails.get(position).getAddresS());
                            startActivity(intent);
                        }
                    });

                    alertDialogBuilder.setNegativeButton("Delete", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Toast.makeText(MainActivity.this, "Data deleted", Toast.LENGTH_SHORT).show();
                            itemDataList.remove(position);
                            simpleAdapter.notifyDataSetChanged();
                        }
                    });

                    AlertDialog alertDialog = alertDialogBuilder.create();
                    alertDialog.show();
                }
            });

    }
...