有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java根据数据动态创建视图

我有名字、时间和经验。我将它们保存在一个屏幕上,并希望将它们加载到另一个屏幕上。我认为,为每个视图创建一个视图将是一个很好的解决方案。但我愿意接受其他建议。这是我用来保存数据的代码

            //Sacando el texto de los editText y guardandolos en sus variables
            d_TaskName = etxt_TaskName.getText().toString();
            d_TaskTime = etxt_TaskTime.getText().toString();
            d_TaskExp = etxt_TaskExp.getText().toString();

            // Guardar nombre de la tarea en TaskName.txt
            try {
                FileOutputStream fou1 = openFileOutput("TaskName.txt", MODE_WORLD_WRITEABLE);
                OutputStreamWriter osw1 = new OutputStreamWriter(fou1);
                try {
                    osw1.write(d_TaskName);
                    osw1.flush();
                    osw1.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }

            //Guardar tiempo que dura la tarea en TaskTime.txt
            try {
                FileOutputStream fou2 = openFileOutput("TaskTime.txt", MODE_WORLD_WRITEABLE);
                OutputStreamWriter osw2 = new OutputStreamWriter(fou2);
                try {
                    osw2.write(d_TaskTime);
                    osw2.flush();
                    osw2.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }

            // Guardar la experiencia de la tarea en TaskExp.txt
            try {
                FileOutputStream fou3 = openFileOutput("TaskExp.txt", MODE_WORLD_WRITEABLE);
                OutputStreamWriter osw3 = new OutputStreamWriter(fou3);
                try {
                    osw3.write(d_TaskExp);
                    osw3.flush();
                    osw3.close();
                    Toast.makeText(getBaseContext(), "Tarea Guardada", Toast.LENGTH_LONG).show();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }

共 (1) 个答案

  1. # 1 楼答案

    为什么不使用SharedReference? 要存储数据:

    SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    SharedPreferences.Editor editor = sharedPref.edit();
    editor.putString("TaskName", etxt_TaskName.getText().toString());
    editor.apply();
    

    要加载数据:

    SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    String taskName = sharedPref.getString("TaskName", "");