Android - 从片段写入文件

时间:2014-09-04 16:20:23

标签: android android-fragments android-file

我正在将活动迁移到片段,我遇到了将数据写入.txt文件的问题,单击“保存数据”按钮时没有任何反应。当我说“什么都没有”时,我的意思是吐司通知不会发生,文件也不会写。

这是我到目前为止所拥有的:

“保存数据”按钮的监听器:

public void onClick(View v) {
    switch (v.getId()) {
        case R.id.myDatePickerButton:
                 **unused for this**

            break;
        case R.id.saveGenInfoButton:
            writeToFile();

            break;
    }
}

writeToFile方法

private void writeToFile() {


    String outputString = ("Output\n" + "\n" + fiView1.getText().toString() + outputFOI1.getText().toString()
            + "\n" + fiView2.getText().toString() + outputFOI2.getText().toString() + "\n" + districtView.getText().toString() + outputEngineeringDistrict.getText().toString() + "\n"
            + countyView.getText().toString() + outputCountyName.getText().toString() + "\n" + municipalityView.getText().toString() + outputMunicipalityName.getText().toString());

    String filename = (outputFileName.getText().toString() + ".txt");

    try {
        File outputFile = new File(Environment.getExternalStorageDirectory(), filename);

        outputFile.createNewFile();

        OutputStreamWriter writer = new OutputStreamWriter(getActivity().openFileOutput(filename, Context.MODE_PRIVATE));
        writer.write(outputString);
        writer.close();
        Toast
                .makeText(getActivity(), "Information saved to SD card as " + filename, Toast.LENGTH_LONG)
                .show();
    } catch (Throwable t)

    {
        Toast
                .makeText(getActivity(), "Exception: " + t.toString(), Toast.LENGTH_LONG)
                .show();
    }

另外,我的变量在onStart中设置如下:

    outputDOI = (TextView) getView().findViewById(R.id.outputDOI);
    doiView = (TextView) getView().findViewById(R.id.doiView);
    fiView1 = (TextView) getView().findViewById(R.id.fiView1);
    outputFOI1 = (EditText) getView().findViewById(R.id.outputFOI1);
    fiView2 = (TextView) getView().findViewById(R.id.fiView2);
    outputFOI2 = (EditText) getView().findViewById(R.id.outputFOI2);
    districtView = (TextView) getView().findViewById(R.id.districtView);
    outputEngineeringDistrict = (EditText) getView().findViewById(R.id.outputEngineeringDistrict);
    countyView = (TextView) getView().findViewById(R.id.countyView);
    outputCountyName = (EditText) getView().findViewById(R.id.outputCountyName);
    municipalityView = (TextView) getView().findViewById(R.id.municipalityView);
    outputMunicipalityName = (EditText) getView().findViewById(R.id.outputMunicipalityName);
    outputFileName = (EditText) getView().findViewById(R.id.outputFilename);
    save_gen_info_button = (Button) getView().findViewById(R.id.saveGenInfoButton);

0 个答案:

没有答案