話說今天又沒事做了好無聊又想睡,因為一直在等待....等待美編給版

話說本公司其中一個網站改版我(一個人)已經寫了將近 60% (前台 + 後台)

然後上禮拜開完會後接到一個惡耗,說網站風格要調整頁面也要跟著調

那就詭異了~~版面不是三個月前就開會討論好了嗎,但大家似乎都當沒開過會一樣

於是乎我做了將近快一個月的白工....但曾經被高鐵撞過的我哪還會怕被台鐵撞

只是比較怕撞完輾過又倒車而已,想起前公司兩三天就改版一次,三個月算是佛心了~

於是今天又很無聊的繼續玩 Android SDK,以下是今天的學習心得.....

底下這網站實在是很適合初學者,所以我幾乎是一步一步跟著學

http://code.google.com/p/androidbmi/wiki/AndroidMenu

一、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名稱);

   

   就接到了

 

   以上是今天學到的東西

arrow
arrow
    全站熱搜

    小雕 發表在 痞客邦 留言(1) 人氣()