public class MainActivity extends Activity { private EditText edittext; private EditText show_text; private ArrayAdapter<String> adapter; private AlertDialog.Builder builder; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.edittext = (EditText) this.findViewById(R.id.edittext); this.show_text = (EditText) this.findViewById(R.id.show_text); initDialog(); // 建立adapter對話框 } public void initDialog() { // 建立adapter對話框,並初始化數據 builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("請選擇文件列表"); builder.setIcon(R.drawable.ic_launcher); adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);// 空的適配器 builder.setAdapter(adapter, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String filename = adapter.getItem(which); edittext.setText(filename); read(null); } }).create();// 只建立不顯示,在下面點中菜單鍵的時候再顯示 } // option菜單 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu, menu); return super.onCreateOptionsMenu(menu); } // fileList():方法 @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.select) { adapter.clear(); // fileList()是高版本,要改成11版本 adapter.addAll(fileList());// 獲取當前應用的內部存儲空間的文件列表 } builder.show(); return super.onOptionsItemSelected(item); } // openFileOutput();方法 public void save(View view) { String fileName = edittext.getText().toString().trim(); String fileContext = show_text.getText().toString().trim(); try { OutputStream output = openFileOutput(fileName, MODE_PRIVATE); output.write(fileContext.getBytes()); Toast.makeText(this, "保存成功!", Toast.LENGTH_SHORT).show(); output.close(); show_text.setText(""); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } // openFileInput()方法 public void read(View view) { // 讀取的是當前應用的內部存儲空間內存,不用權限 String filename = edittext.getText().toString().trim(); try { InputStream is = openFileInput(filename); byte[] buffer = new byte[is.available()];// 文件的粗略長度,要少用,不許確 is.read(buffer); show_text.setText(new String(buffer)); is.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } //主佈局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:id="@+id/bnt_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/edittext" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" /> <Button android:id="@+id/save" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="save" android:text="保存" /> <Button android:id="@+id/read" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="read" android:text="讀取" /> </LinearLayout> <EditText android:id="@+id/show_text" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#88000000" android:gravity="left|top" /> </LinearLayout> //選項菜單文件menu.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/select" android:title="選擇文件列表"/> </menu>