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

0

您可以在此答案中使用 PublicSharedPreferences 类。它对我来说很完美。希望这可以帮助。

于 2013-05-02T17:18:47.630 回答