EX06_09_2.java
上传用户:vip_99
上传日期:2021-03-27
资源大小:61159k
文件大小:3k
源码类别:

android开发

开发平台:

Java

  1. package irdc.ex06_09;
  2. import java.io.IOException;
  3. import android.app.Activity;
  4. import android.app.AlertDialog;
  5. import android.app.AlertDialog.Builder;
  6. import android.content.DialogInterface;
  7. import android.content.Intent;
  8. import android.os.Bundle;
  9. import android.view.LayoutInflater;
  10. import android.view.Menu;
  11. import android.view.MenuItem;
  12. import android.view.View;
  13. import android.widget.EditText;
  14. public class EX06_09_2 extends Activity
  15. {
  16.   private String path;
  17.   private String data;
  18.   private EditText myEditText1;
  19.   private EditText myDialogEditText;
  20.   protected final static int MENU_SAVE = Menu.FIRST;
  21.   private String fileName;
  22.   @Override
  23.   public void onCreate(Bundle savedInstanceState)
  24.   {
  25.     super.onCreate(savedInstanceState);
  26.     setContentView(R.layout.ex06_09_2);
  27.     /* 放置文件内容的EditText */
  28.     myEditText1 = (EditText) findViewById(R.id.myEditText1);
  29.     
  30.     Bundle bunde = this.getIntent().getExtras();
  31.     path = bunde.getString("path");
  32.     data = bunde.getString("data");
  33.     fileName = bunde.getString("fileName");
  34.     myEditText1.setText(data);
  35.   }
  36.   @Override
  37.   public boolean onOptionsItemSelected(MenuItem item)
  38.   {
  39.     super.onOptionsItemSelected(item);
  40.     switch (item.getItemId())
  41.     {
  42.       case MENU_SAVE:
  43.         saveFile();
  44.         break;
  45.     }
  46.     return true;
  47.   }
  48.   @Override
  49.   public boolean onCreateOptionsMenu(Menu menu)
  50.   {
  51.     super.onCreateOptionsMenu(menu);
  52.     /* 添加MENU */
  53.     menu.add(Menu.NONE, MENU_SAVE, 0, R.string.strSaveMenu);
  54.     return true;
  55.   }
  56.   private void saveFile()
  57.   {
  58.     /* 跳出存档的Dialog */
  59.     LayoutInflater factory = LayoutInflater.from(this);
  60.     
  61.     final View textEntryView = factory.inflate
  62.     (R.layout.save_dialog, null);
  63.     
  64.     Builder mBuilder1 = new AlertDialog.Builder(EX06_09_2.this);
  65.     
  66.     mBuilder1.setView(textEntryView);
  67.     /* 取得Dialog里的EditText */
  68.     myDialogEditText = (EditText) textEntryView.findViewById
  69.                                   (R.id.myDialogEditText);
  70.     
  71.     myDialogEditText.setText(fileName);
  72.     mBuilder1.setPositiveButton
  73.     (
  74.       R.string.str_alert_ok,new DialogInterface.OnClickListener()
  75.       {
  76.         public void onClick(DialogInterface dialoginterface, int i)
  77.         {
  78.           /* 存档 */
  79.           String Filename = path + java.io.File.separator
  80.               + myDialogEditText.getText().toString();
  81.           java.io.BufferedWriter bw;
  82.           try
  83.           {
  84.             bw = new java.io.BufferedWriter(new java.io.FileWriter(
  85.                 new java.io.File(Filename)));
  86.             String str = myEditText1.getText().toString();
  87.             bw.write(str, 0, str.length());
  88.             bw.newLine();
  89.             bw.close();
  90.           }
  91.           catch (IOException e)
  92.           {
  93.             e.printStackTrace();
  94.           }
  95.           /* 回到EX06_09_1 */
  96.           Intent intent = new Intent();
  97.           intent.setClass(EX06_09_2.this, EX06_09_1.class);
  98.           Bundle bundle = new Bundle();
  99.           /* 将路径传到EX06_09_1 */
  100.           bundle.putString("path", path);
  101.           intent.putExtras(bundle);
  102.           startActivity(intent);
  103.           
  104.           finish();
  105.         }
  106.       });
  107.     mBuilder1.setNegativeButton(R.string.str_alert_cancel, null);
  108.     mBuilder1.show();
  109.   }
  110. }