diff --git a/app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt b/app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt index e58e77bf0..2116abe8b 100644 --- a/app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt @@ -67,6 +67,9 @@ class MyFragment : BaseFragment(R.layout.fragment_my_config) { putPrefBoolean(PreferKey.webService, WebService.isRun) addPreferencesFromResource(R.xml.pref_main) findPreference("webService")?.onLongClick { + if (!WebService.isRun) { + return@onLongClick false + } context?.selector(arrayListOf("复制地址", "浏览器打开")) { _, i -> when (i) { 0 -> context?.sendToClip(it.summary.toString()) diff --git a/app/src/main/java/io/legado/app/ui/widget/prefs/Preference.kt b/app/src/main/java/io/legado/app/ui/widget/prefs/Preference.kt index 1acc83afa..6cd98ce18 100644 --- a/app/src/main/java/io/legado/app/ui/widget/prefs/Preference.kt +++ b/app/src/main/java/io/legado/app/ui/widget/prefs/Preference.kt @@ -116,8 +116,10 @@ class Preference(context: Context, attrs: AttributeSet) : isBottomBackground = isBottomBackground ) super.onBindViewHolder(holder) - holder.itemView.onLongClick { - onLongClick?.invoke(this) + onLongClick?.let { listener -> + holder.itemView.onLongClick { + listener.invoke(this) + } } } diff --git a/app/src/main/java/io/legado/app/ui/widget/prefs/SwitchPreference.kt b/app/src/main/java/io/legado/app/ui/widget/prefs/SwitchPreference.kt index 5a5eaf8e2..3c4e29aa9 100644 --- a/app/src/main/java/io/legado/app/ui/widget/prefs/SwitchPreference.kt +++ b/app/src/main/java/io/legado/app/ui/widget/prefs/SwitchPreference.kt @@ -37,8 +37,10 @@ class SwitchPreference(context: Context, attrs: AttributeSet) : v.applyTint(context.accentColor) } super.onBindViewHolder(holder) - holder.itemView.setOnLongClickListener { - onLongClick?.invoke(this) ?: false + onLongClick?.let { listener -> + holder.itemView.setOnLongClickListener { + listener.invoke(this) + } } }