Java 如何使选项菜单实现方法

Java 如何使选项菜单实现方法,java,android,menu,onclick,Java,Android,Menu,Onclick,我应该提出申请,然后我可以键入文本和编辑他们点击他们的选项菜单,他们就像“保存此文件”和“删除” 我制作了一个菜单和一个进行保存和删除的方法,但我不知道如何通过单击它们来让它们工作:( 这是我做的一些 private static final String FILE_NAME = "first file.txt"; // создаем имя текстового файла private EditText editText; // создаем текстовове

我应该提出申请,然后我可以键入文本和编辑他们点击他们的选项菜单,他们就像“保存此文件”和“删除”

我制作了一个菜单和一个进行保存和删除的方法,但我不知道如何通过单击它们来让它们工作:(

这是我做的一些

private static final String FILE_NAME = "first file.txt"; // создаем имя текстового файла
private EditText editText; // создаем текстовове поле с именем editText

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    editText = findViewById(R.id.editText);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_menu, menu);
    return true;


}

public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();

    if(id == R.id.action_save) {


        return true;
    }
    if(id == R.id.action_open) {

        return true;
    }
    if(id == R.id.action_delete) {

        return true;
    }


    return true;
}

private void save(View v) { // класс для обработки сохранения файла при нажатии кнопки save
    String text = editText.getText().toString(); // строка принимает текст с текстового поля и превращает в строку
    FileOutputStream fos = null; // создаем выходящий поток данных fos и делаем пустым

    try {

        fos = openFileOutput(FILE_NAME, MODE_PRIVATE); // помещаем в поток имя файла и ограничиваем доступ к нему только этому приложению
        fos.write(text.getBytes()); // в потоке эти значения переводятся в биты

        editText.getText().clear(); // после сохранения файла мы очищаем текстовое поле
        Toast.makeText(this, "saved to " + getFilesDir() + "/" + FILE_NAME, Toast.LENGTH_LONG).show(); //обьект toast выводит сообщение с адресом где сохранен файл

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (fos != null) {   //проверка если поток не пустой то этот метод его закрывает
            try {
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}


public void open(View v) { // медол для обработки кнопки open для открытия файла из памяти телефонв
    FileInputStream out = null; // создаем выходящий поток out с пустым значение

    try {
        out = openFileInput(FILE_NAME); // присваиваем потоку открытые файла first file.txt
        InputStreamReader isr = new InputStreamReader(out); //
        BufferedReader br = new BufferedReader(isr); // знатемы мы переводим значения этого файла из байтов в буквенные
        StringBuilder sb = new StringBuilder(); // затем мы полученные символы переводим в тип строки
        String text;

        while ((text = br.readLine()) != null) {
            sb.append(text).append("\n"); // создание новой сроки если полученный текст не пустой

            editText.setText(sb.toString()); // полученный данные из sb мы переводим в строку
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (out != null) {
            try {
                out.close(); //проверка если поток не пустой то этот метод его закрывает
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}