Pārlūkot izejas kodu

修改高版本toast无法显示问题

weizhengliang 2 gadi atpakaļ
vecāks
revīzija
7f041a9a4a

+ 4 - 0
app/src/main/code/com/wdkl/app/ncs/application/Application.kt

@@ -7,6 +7,7 @@ import com.enation.javashop.android.jrouter.JRouter
 import com.enation.javashop.net.engine.config.NetEngineConfig
 import com.enation.javashop.net.engine.plugin.exception.RestfulExceptionInterceptor
 import com.enation.javashop.utils.base.config.BaseConfig
+import com.hjq.toast.Toaster
 import com.wdkl.ncs.android.component.nursehome.led.LedManagerUtils
 import com.wdkl.ncs.android.component.nursehome.settingconfig.SettingConfig
 import com.wdkl.ncs.android.component.nursehome.util.LocaleMangerUtils
@@ -84,6 +85,9 @@ class Application : BaseApplication() {
 
         LedManagerUtils.getInstance().ledInit(this)
 
+        // 初始化 Toast 框架
+        Toaster.init(this)
+
         //xCrash catcher
         XCrashUtils().init(this)
 

+ 2 - 0
common/build.gradle

@@ -232,6 +232,8 @@ dependencies {
      */
     compile 'com.google.guava:guava:20.0'
 
+    compile 'com.github.getActivity:Toaster:12.0'
+
     /**
      * netty
      */

+ 19 - 13
common/src/main/code/com/wdkl/ncs/android/lib/utils/ExtendMethods.kt

@@ -12,6 +12,7 @@ import android.app.Fragment
 import android.content.Context
 import android.content.Intent
 import android.databinding.ObservableField
+import android.os.Build
 import android.os.Handler
 import android.os.Looper
 import android.support.v4.content.ContextCompat
@@ -32,6 +33,7 @@ import com.enation.javashop.net.engine.plugin.rxbus.RxBus
 import com.enation.javashop.utils.base.tool.CommonTool
 import com.enation.javashop.utils.base.tool.ScreenTool
 import com.enation.javashop.utils.logger.LoggerFactory
+import com.hjq.toast.Toaster
 import com.umeng.socialize.utils.DeviceConfig.context
 import io.reactivex.disposables.Disposable
 import okhttp3.ResponseBody
@@ -87,22 +89,26 @@ fun showMessage(message: String) {
     if (message == ""){
         return
     }
-    val messageCallback = {
 
-//        Toast.makeText(BaseApplication.appContext, message, Toast.LENGTH_SHORT).show()
+    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+        Toaster.showShort(message)
+    } else {
+        val messageCallback = {
+            //Toast.makeText(BaseApplication.appContext, message, Toast.LENGTH_SHORT).show()
 
-        if (toast == null) {
-            toast = Toast.makeText(BaseApplication.appContext, message, Toast.LENGTH_SHORT)
-        } else {
-            toast!!.setText(message)
+            if (toast == null) {
+                toast = Toast.makeText(BaseApplication.appContext, message, Toast.LENGTH_SHORT)
+            } else {
+                toast!!.setText(message)
+            }
+            toast!!.show()
+        }
+        try {
+            messageCallback.invoke()
+        } catch (runtime: RuntimeException) {
+            Looper.prepare()
+            messageCallback.invoke()
         }
-        toast!!.show()
-    }
-    try {
-        messageCallback.invoke()
-    } catch (runtime: RuntimeException) {
-        Looper.prepare()
-        messageCallback.invoke()
     }
 }