안드로이드 환경설정의 특정한 위치로 바로 이동하고 싶을 때가 있을것이다. 여러가지 환경설정중에 내가 원하는 환경설정 페이지로 꼭 집어서 이동하고 싶을때..


...

    
     ...
    


    
     ...
    

...

위 내용중에 "ps_alarm" 설정 화면으로 바로 이동하고 싶다면 환경설정 페이지에서..

 "ALARM_SETTING"이라는 변수가 왔을때 "ps_alarm" 화면으로 바로 이동하도록 한다.

preferenceScreen.onItemClick()을 이용하면된다.


      
 
 // onCreate 에서..
	Intent intent = getIntent();
        String sFROM = intent.getStringExtra("FROM");		// 없으면 null
        if(sFROM != null){
	        if(sFROM.equals("ALARM_SETTING")){	// 전달받은 데이터가 ALARM_SETTING 이면 "알림설정"으로 바로 간다.
	            final Preference preference = findPreference("ps_alarm");	// 알림설정으로 간다.
	            final PreferenceScreen preferenceScreen = getPreferenceScreen();
	            final ListAdapter listAdapter = preferenceScreen.getRootAdapter();
	            final int itemsCount = listAdapter.getCount();
	            int itemNumber;
	            for (itemNumber = 0; itemNumber < itemsCount; ++itemNumber) {
	                if (listAdapter.getItem(itemNumber).equals(preference)) {
	                    preferenceScreen.onItemClick(null, null, itemNumber, 0);
	                    break;
	                }
	            }
	        }
        }
 
 
 


알람설정을 요청하는 페이지에서는.. "ALARM_SETTING"이라는 변수만 전달해주면 된다.


 
		Context mContext;
		mContext = this;
		...
		Intent i = new Intent(mContext, SettingActivity.class);
		i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
		i.putExtra("FROM", "ALARM_SETTING");			
		mContext.startActivity(i);				


'안드로이드 개발 팁' 카테고리의 다른 글

android preferences 정보 저장 및 불러오기  (0) 2012.06.20
android 고유한값(ANDROID_ID)  (0) 2012.06.20
android Timer  (0) 2012.06.11
android 배경 속도 향상  (0) 2012.06.11
android Preference Color Change  (0) 2012.06.11

+ Recent posts