44import android .content .SharedPreferences ;
55import android .graphics .Rect ;
66import android .os .Bundle ;
7- import android .os .Handler ;
8- import android .os .Looper ;
97import android .preference .PreferenceManager ;
108import android .support .v7 .app .AppCompatActivity ;
119import android .support .v7 .widget .RecyclerView ;
@@ -25,6 +23,7 @@ public class MainActivity extends AppCompatActivity {
2523 FlowLayoutManager flowLayoutManager ;
2624 MarkdownView markdownView ;
2725 private static final int REQ_CODE_SETTINGS = 101 ;
26+ private boolean settingChanged = false ;
2827 @ Override
2928 protected void onCreate (Bundle savedInstanceState ) {
3029 super .onCreate (savedInstanceState );
@@ -99,12 +98,23 @@ private void loadSettingsFromSharedPref() {
9998 protected void onActivityResult (int requestCode , int resultCode , Intent data ) {
10099 super .onActivityResult (requestCode , resultCode , data );
101100 if (requestCode == REQ_CODE_SETTINGS ) {
102- new Handler (Looper .getMainLooper ()).postDelayed (new Runnable () {
103- @ Override
104- public void run () {
105- loadSettingsFromSharedPref ();
106- }
107- }, 1000 );
101+ settingChanged = true ;
102+ }
103+ }
104+
105+ @ Override
106+ public void onWindowFocusChanged (boolean hasFocus ) {
107+ super .onWindowFocusChanged (hasFocus );
108+ if (hasFocus ) {
109+ if (settingChanged ) {
110+ settingChanged = false ;
111+ recyclerView .post (new Runnable () {
112+ @ Override
113+ public void run () {
114+ loadSettingsFromSharedPref ();
115+ }
116+ });
117+ }
108118 }
109119 }
110120}
0 commit comments