Преглед изворни кода

Apex Mobile
修复App启动后设置系统字体导致无法登陆的问题。

Ray Zhang пре 8 година
родитељ
комит
9331d41c0d

+ 10 - 0
Apex Mobile/app/src/main/java/com/usai/apex/mainframe/LoginFragment.java

@@ -12,6 +12,7 @@ import android.os.AsyncTask;
 import android.os.Build;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
+import android.support.v4.content.LocalBroadcastManager;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.Gravity;
@@ -389,6 +390,15 @@ public class LoginFragment extends Fragment/* implements OnClickListener */
 				if(mCallBack!=null)
 					mCallBack.onLogin();
 
+
+				{
+
+					Intent intent = new Intent("Login");
+					intent.putExtra("state", true);
+					LocalBroadcastManager.getInstance(getActivity())
+							.sendBroadcast(intent);
+				}
+
 //				Intent intent = new Intent();
 //				intent.setClass(getActivity(), FunctionSelectActivity.class);
 ////				intent.putExtra("user", m_sUser);

+ 9 - 0
Apex Mobile/app/src/main/java/com/usai/apex/mainframe/MyFragment.java

@@ -5,6 +5,7 @@ import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
+import android.support.v4.content.LocalBroadcastManager;
 import android.util.Log;
 import android.view.View;
 import android.widget.ListView;
@@ -150,6 +151,14 @@ public class MyFragment extends StaticModelistFragment {
             if(mCallBack!=null)
                 mCallBack.onLogout();
 
+            {
+
+                Intent bintent = new Intent("Login");
+                bintent.putExtra("state", false);
+                LocalBroadcastManager.getInstance(getActivity())
+                        .sendBroadcast(bintent);
+            }
+
         }
 
 

+ 56 - 26
Apex Mobile/app/src/main/java/com/usai/apex/mainframe/RootActivity.java

@@ -2,14 +2,18 @@ package com.usai.apex.mainframe;
 
 import android.Manifest;
 import android.app.AlertDialog;
+import android.content.BroadcastReceiver;
+import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.content.IntentFilter;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.design.widget.BottomNavigationView;
 import android.support.v4.app.ActivityCompat;
 import android.support.v4.app.Fragment;
+import android.support.v4.content.LocalBroadcastManager;
 import android.support.v4.view.ViewPager;
 import android.support.v7.app.ActionBar;
 import android.support.v7.app.AppCompatActivity;
@@ -67,6 +71,14 @@ public class RootActivity extends AppCompatActivity {
 
         outState.putBoolean("login",login);
     }
+    BroadcastReceiver br;
+    @Override
+    protected void onDestroy() {
+        LocalBroadcastManager localBroadcastManager = LocalBroadcastManager
+                .getInstance(this);
+        localBroadcastManager.unregisterReceiver(br);
+        super.onDestroy();
+    }
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -77,6 +89,24 @@ public class RootActivity extends AppCompatActivity {
             return;
         }
 
+        LocalBroadcastManager localBroadcastManager = LocalBroadcastManager
+                .getInstance(this);
+        IntentFilter intentFilter = new IntentFilter();
+        intentFilter.addAction("Login");
+        br = new BroadcastReceiver() {
+
+            @Override
+            public void onReceive(Context context, Intent intent) {
+                boolean blogin = intent.getBooleanExtra("state",true);
+                login=blogin;
+
+                setupViewPager(viewPager);
+            }
+
+        };
+        localBroadcastManager.registerReceiver(br, intentFilter);
+
+
         setContentView(R.layout.activity_root);
 
         if (savedInstanceState != null) {
@@ -407,22 +437,22 @@ public class RootActivity extends AppCompatActivity {
             SearchFragment searchFragment = new SearchFragment();
             ToolsFragment toolsFragment = new ToolsFragment();
             MyFragment myFragment = new MyFragment();
-            myFragment.setCallBack(new MyFragment.LogoutCallBack() {
-                @Override
-                public void onLogout() {
-
-                                    System.out.println("log out ");
-                login=false;
-
-//                BottomNavigationView v;
-
-//                v.getse
-//                bottomNavigationView.setSelectedItemId(bottomNavigationView.getMenu().getItem(0).getItemId());
-//                navigation.setSelectedItemId(navigation.getMenu().getItem(position).getItemId());
-
-                setupViewPager(viewPager);
-                }
-            });
+//            myFragment.setCallBack(new MyFragment.LogoutCallBack() {
+//                @Override
+//                public void onLogout() {
+//
+//                                    System.out.println("log out ");
+//                login=false;
+//
+////                BottomNavigationView v;
+//
+////                v.getse
+////                bottomNavigationView.setSelectedItemId(bottomNavigationView.getMenu().getItem(0).getItemId());
+////                navigation.setSelectedItemId(navigation.getMenu().getItem(position).getItemId());
+//
+//                setupViewPager(viewPager);
+//                }
+//            });
 
 
             adapter.addFragment(homeFragment);
@@ -457,16 +487,16 @@ public class RootActivity extends AppCompatActivity {
 
 
             LoginFragment loginFragment = new LoginFragment();
-            loginFragment.setCallBack(new LoginFragment.LoginCallBack() {
-                @Override
-                public void onLogin() {
-                System.out.println("login ");
-                login = true;
-//                bottomNavigationView.setSelectedItemId(bottomNavigationView.getMenu().getItem(0).getItemId());
-
-                setupViewPager(viewPager);
-                }
-            });
+//            loginFragment.setCallBack(new LoginFragment.LoginCallBack() {
+//                @Override
+//                public void onLogin() {
+//                System.out.println("login ");
+//                login = true;
+////                bottomNavigationView.setSelectedItemId(bottomNavigationView.getMenu().getItem(0).getItemId());
+//
+//                setupViewPager(viewPager);
+//                }
+//            });
 //            TestFragment loginf = TestFragment.newInstance("login");
 //            loginf.setCallBack(logincallback);