一、Menu 選單

     首先要先認識 onCreateOptionsMenu 與 onOptionsItemSelected

     onCreateOptionsMenu 是當你按下手機的 Menu 時會觸發的動作

     onOptionsItemSelected 是當你按下跳出來的 Menu 選項時會觸發的動作

     所以是先觸發 onCreateOptionsMenu 才有 onOptionsItemselected 

     然後就開始寫

 

    @Override

    public boolean onCreateOptionsMenu(Menu menu){

        supser.onCreateOptionsMenu(menu);

        menu.add(0,0,0,"關於");

        menu.add(0,1,0,"離開");

        return true;

   }

 

   上面的意思是.......因為 Activity 類別本身就有 onCreateOptionsMenu 這個函數 

   (不講誰知道)

   但是因為偶要加上自己的 code 所以就要覆寫他因此加上了 @Override 

   但是一覆寫後整個函數就空了,所以要先執行一遍原本 Activity 中的 onCreateOptionsMenu 

   這樣就可保有原來的功能又完成覆寫, 而要執行上層類別的關鍵字就是  super 

   然後這個方法有回傳值型態是 boolean ,所以加了一個 return true;

   (不講誰知道)

 

  再來新增 Menu 選單的方式就是

  menu.add(0, 識別符號(identifer), 0, 字串或資源識別符號);

   然後 Menu 框架好了再來就是定義按下去要幹嘛

  所以要用 onOptionsItemselected 方法

  這東西也是要先覆寫

 

  @Override

  public boolean onOptionsItemSelected(MenuItem item){

     super.onOptionsItemSelected(item);

       switch(item.getItemId()){

      case 0:

      alert3();

      break;

      case 1:

      finish();

      }

      return true;

    }

 

   傳入的 item 用 getItemId 抓到到底是按到哪個識別

   然後那個 alert3() 不是內建的是本人之前寫的,其實就是跳出 AlertDialog

   而如果你是點離開的話,就跑內建的 finish(); 完成關閉的動作

   其實還蠻簡單的

 

二、將資訊傳到下一頁 (這感覺比較像寫網頁的講法)

   據說每個 Activity 都等於是一頁,如果要將資訊傳到下一個 Activity 就如下

   //也是先建立一個意圖

   Intent intent = new Intent();

   intent.setClass(你原本的 Activity,你要去的 Activity);

   //如果你要順便傳資料過去如下

   Bundle bundle = new Bundle();

   bundle.putString(你要傳遞資料的Key,你要傳遞資料的值);

   ....................

   intent.putExtras(bundle);

   startActivity(intent);


   然後另一個 Activity 要接值的話用

   Bundle bundle = this.getIntent.getExtras();

   bundle.getString(你傳過來的key名稱);

   

   就接到了

創作者介紹
創作者 小犬 的頭像
小犬

正妹 定期更新中.....

小犬 發表在 痞客邦 留言(0) 人氣()