乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      設(shè)置中的Preferencescreen用法介紹與分析

       jemeen 2012-03-30

      設(shè)置中的Preferencescreen不僅可以作為設(shè)置界面顯示,而且還能夠啟動(dòng)activity,下面主要是對(duì)啟動(dòng)activity的介紹
      1. Preferencescreen中啟動(dòng)activity
      例如wireless_setting.xml中有如下片段

      <PreferenceScreen xmlns:android="http://schemas./apk/res/android"
      xmlns:settings="http://schemas./apk/res/com.seedshope.android">
          <PreferenceScreen
              android:key="wifi_settings"
              android:title="@string/wifi_settings"
              android:summary="@string/wifi_settings_summary" >
              <intent
                  android:action="android.intent.action.MAIN"
                  android:targetPackage="com.android.settings"
                  android:targetClass="com.android.settings.wifi.WifiSettings" />
          </PreferenceScreen>
      </PreferenceScreen>

      其中com.android.settings是工程的包名,com.android.settings.wifi.WifiSettings是要啟動(dòng)的類(lèi)。
      一般情況下,這樣就ok了,點(diǎn)擊對(duì)應(yīng)的Preference就能夠啟動(dòng)對(duì)應(yīng)的activity,然而僅僅這樣有時(shí)這樣,并不一定能夠啟動(dòng)對(duì)應(yīng)的activity,因?yàn)樗c回調(diào)函數(shù)onPreferenceTreeClick有關(guān),有時(shí)候我們會(huì)重寫(xiě)這個(gè)方法如:
          public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
             if ( (preference == mAirplaneModePreference) &&
                      (Boolean.parseBoolean(
                          SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) ) {
                  // In ECM mode launch ECM app dialog
                 startActivityForResult(
                      new Intent(TelephonyIntents.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null),
                      REQUEST_CODE_EXIT_ECM);
                  return true;
              }
              else {
                  // Let the intents be launched by the Preference manager
                  return false;
             }
          }
      其中WirelessSetting.java中有如上函數(shù),當(dāng)返回值為true時(shí),你怎么點(diǎn)擊Preference都不會(huì)跳轉(zhuǎn)到activity的,只有等到它的返回值為false的時(shí)候,才可以正常跳轉(zhuǎn),因?yàn)辄c(diǎn)擊某一個(gè)Preference的真正實(shí)現(xiàn)在Preference.java的performClick函數(shù)中如下:
      void performClick(PreferenceScreen preferenceScreen) {
             
              if (!isEnabled()) {
                  return;
              }
             
              onClick();
             
              if (mOnClickListener != null && mOnClickListener.onPreferenceClick(this)) {
                  return;
              }
             
              PreferenceManager preferenceManager = getPreferenceManager();
              if (preferenceManager != null) {
                  PreferenceManager.OnPreferenceTreeClickListener listener = preferenceManager
                          .getOnPreferenceTreeClickListener();
                  if (preferenceScreen != null && listener != null
                          && listener.onPreferenceTreeClick(preferenceScreen, this)) {
                      return;
                  }
              }
             
              if (mIntent != null) {
                  Context context = getContext();
                  context.startActivity(mIntent);
              }
          }
      當(dāng)點(diǎn)擊某個(gè)Preference時(shí)的調(diào)用流程是AdapterView.performItemClick--》PreferenceScreen.onItemClick--》Preference.performClick--》PreferenceActivity.onPreferenceTreeClick,當(dāng)onPreferenceTreeClick返回true的時(shí)候就直接return了,沒(méi)有走下面啟動(dòng)activity的地方了,因此要使一個(gè)Preference能夠正常跳轉(zhuǎn)到另外一個(gè)activity有兩個(gè)條件,一是xml里面是否設(shè)置正確,第二是調(diào)用該xml的java類(lèi)是否在onPreferenceTreeClick這個(gè)函數(shù)需要返回false。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多