使用者按MENU按鈕 , 顯示MENU選單 , 這題也相當簡單 , 只是要考在menu加上items的使用和AlertDialog的設定按鈕及事件 , 以下是程式碼。
package COM.TQC.GDD01; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class GDD01 extends Activity { final int ADD = Menu.FIRST , DELETE = Menu.FIRST+1 , ABOUT = Menu.FIRST+2 , QUIT = Menu.FIRST+3 ; // ... /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override //建立menu選單的項目 public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); //新增menu選單,再利用onOptionsItemSelected擷取選單選擇項目,處理相對應的事件 menu.add(0, ADD, 0, R.string.menu_add); menu.add(0, DELETE, 1, R.string.menu_delete); menu.add(0, ABOUT, 2, R.string.menu_about); menu.add(0, QUIT, 3, R.string.menu_exit); return true ; } //menu被選擇執行後的事件處理 public boolean onOptionsItemSelected(MenuItem item) { //點選menu,出現四個選擇,以switch區分點選何項,設定title並繫結至其功能 switch(item.getItemId()) { case ADD: case DELETE: this.setTitle(item.getTitle()); break; case ABOUT: openAboutDialog(); break; case QUIT: openExitDialog(); break; } return super.onOptionsItemSelected(item) ; } //點選「關於」功能 public void openAboutDialog() { AlertDialog.Builder AB = new AlertDialog.Builder(this); AB.setMessage(R.string.menu_about_msg) .setTitle(R.string.menu_about) .setPositiveButton(R.string.str_ok, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub // 按下確認後會關閉Dialog即可 } } ) .show(); } //點選「離開」功能 public void openExitDialog() { //開啟視窗詢問【是否確認離開系統?】,於訊息視窗點選「確認」後,關閉程式 //於訊息視窗點選「取消」,則關閉此詢問視窗,則回到MENU功能選單畫面 AlertDialog.Builder AB = new AlertDialog.Builder(this); AB.setMessage(R.string.menu_exit_msg) .setTitle(R.string.menu_exit) .setPositiveButton(this.getText(R.string.str_ok), new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub GDD01.this.finish(); } } ) .setNegativeButton(this.getText(R.string.str_cancel), new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub // 取消關閉程式 } } ) .show(); } }
這題不用額外配置layout , 所以不附上main.xml
P.S. 題目中所要求的Variable和Method皆會保留 , 也會根據題目所要求的流程去實作 , 縱使題目要求繞遠路....
可以提供程式檔案給我嗎??
回覆刪除