天天看点

Settings点击Location(位置)后右上角的开关button不会消失

MT8121/8382平台:

前几天又遇到一个源码的bug。在10寸平板上,进入设置界面,点击Location(位置)项,右上角Title处会显示一个开关button,用来开关定位服务。但点完Location项再点其他项的时候,button并不会消失。直到你点到Developer(开发者选项),再点击其他项那个button才会消失。Developer项本身右上角也有一个开关button。

于是很自然地想到,在切换设置项时,Location页面在退出时没有把button去掉。

结果一看果然是。

--- a/packages/apps/Settings/src/com/android/settings/location/<span style="color: #000000;">LocationSettings.java </span>+++ b/packages/apps/Settings/src/com/android/settings/location/<span style="color: #000000;">LocationSettings.java @@ </span>-100,6 +100,9 @@ <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> LocationSettings <span style="color: #0000ff;">extends</span><span style="color: #000000;"> LocationSettingsBase </span><span style="color: #0000ff;">super</span><span style="color: #000000;">.onPause(); mValidListener </span>= <span style="color: #0000ff;">false</span><span style="color: #000000;">; mSwitch.setOnCheckedChangeListener(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">); </span>+ getActivity().getActionBar().setCustomView(<span style="color: #0000ff;">null</span><span style="color: #000000;">);</span>

1 --- a/packages/apps/Settings/src/com/android/settings/location/<span style="color: #000000;">LocationSettings.java </span>+++ b/packages/apps/Settings/src/com/android/settings/location/<span style="color: #000000;">LocationSettings.java @@ </span>-100,6 +100,9 @@ <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> LocationSettings <span style="color: #0000ff;">extends</span><span style="color: #000000;"> LocationSettingsBase </span><span style="color: #0000ff;">super</span><span style="color: #000000;">.onPause(); mValidListener </span>= <span style="color: #0000ff;">false</span><span style="color: #000000;">; mSwitch.setOnCheckedChangeListener(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">); </span>+        getActivity().getActionBar().setCustomView(<span style="color: #0000ff;">null</span><span style="color: #000000;">);</span>