-
메뉴 만들때 참고하면 좋을 듯예전 글들/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^반응형'예전 글들 > Android' 카테고리의 다른 글
SurfaceView를 사용하는 이유 (0) 2011.05.11 Map과 HashMap 클래스 (0) 2011.05.10 Menu 추가하는 신기한 방법(?) (0) 2011.04.19 다른 Layout으로 넘어가는 법 (0) 2011.04.19 안드로이드 개념 잡기(활동(Activity), 의도(Intent)) - 시작하세요!안드로이드 프로그래밍 참고 (0) 2010.10.04 댓글