ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 메뉴 만들때 참고하면 좋을 듯
    예전 글들/Android 2011. 5. 9. 12:05
    반응형

    소스 출처는 [시작하세요 안드로이드 프로그래밍 - 위키북스)

    우선 메뉴 클래스 파일 하나 만들고

    - Menu.java
    import java.util.SortedMap;
    import java.util.TreeMap;

    import android.app.ListActivity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;

    public abstract class Menu extends ListActivity {
     private SortedMap<String, Object> actions = new TreeMap<String, Object>();
     
     @Override
     protected void onListItemClick(ListView l, View v, int position, long id) {
      String key = (String) l.getItemAtPosition(position);
      startActivity((Intent) actions.get(key));
     }
     
     @Override
     public void onCreate(Bundle savedInstanceState){
      super.onCreate(savedInstanceState);
     
      prepareMenu();
      
      String[] keys = actions.keySet().toArray(
        new String[actions.keySet().size()]);
      
      setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, keys));
      
     }
     
     public void addMenuItem(String label, Class<?> cls){
      actions.put(label, new Intent(this, cls));
     }
     
     abstract void prepareMenu();
    }

    그리고 위의 Menu 클래스를 extends 하여 사용만 하면 됩니다~~!!! 사용법은 아래와 같죠.
    public class Hardware extends Menu {

        @Override
        void prepareMenu() {

            addMenuItem("1. WiFi Sample", WiFi.class);
            addMenuItem("2. Sensors Sample", Sensors.class);
            addMenuItem("3. Battery Monitor", Battery.class);

        }

    }

    위에서 처럼 그냥 함수불러다가 추가만하면 아래와 같은 화면으로 보답해주죠 ^0^

    결과물은 언제나 그렇듯 단순하지만 활용도는 뭐 쓰기 나름이겠지만 무한대이겠죠??흠....

    반응형

    댓글

Designed by Tistory.