0

次のコードでデータを SharedPreferences ファイルに保存します。

        // Assign external resources
        SaveButton = (Button)findViewById(R.id.button6);       

        // Set the listener for the interact button
        SaveButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {


                SharedPreferences allMaps = getSharedPreferences("allMaps", Context.MODE_PRIVATE);
                SharedPreferences.Editor editor = allMaps.edit();

                SharedPreferences currentMap = getSharedPreferences("currentMap", Context.MODE_PRIVATE);

                String currentMapName = currentMap.getString("MapName", "");

                Map<String,?> keys = allMaps.getAll();
                for(Map.Entry<String,?> entry : keys.entrySet()){
                    //delete objects with currentMap MapName
                    if (entry.getKey().toString().contains(currentMapName)) {
                        editor.remove(entry.getKey().toString());
                    }
                 }
                //put mapname here
                editor.putString("MapName" + currentMapName, currentMapName);

                //put objects from arrays into allMaps
                //need reference of mindMapView view object
                MindMapView mindMapView = (MindMapView)findViewById(R.id.MindMapView);

                for (int i = 0; i < mindMapView.mindMapArrayListLabels.size(); i++) {
                    editor.putString(currentMapName + "Label" + i, mindMapView.mindMapArrayListLabels.get(i));
                }
                for (int i = 0; i < mindMapView.mindMapArrayListImgs.size(); i++) {
                    editor.putInt(currentMapName + "Image" + i, mindMapView.mindMapArrayListImgs.get(i));
                }

                editor.commit();
            }

        });

何らかの理由で機能していません。私は他の場所でファイルを参照していますが、それらの領域ではうまく機能しているようです。

4

1 に答える 1