小编Kis*_*nki的帖子

Android TextView:android:justificationMode =“inter_word”不适用于android:autoLink =“web”

我有一个文本视图,它必须android:justificationMode="inter_word"对齐 TextView 中的文本。

这工作正常。但现在,当我的 TextView 文本中有一个 URL 时,我想在单击该 URL 时打开浏览器。因此,为了实现这一目标,我添加了android:autoLink="web",但如果我这样做,那么文本对齐就会停止,可点击的链接开始工作。

<androidx.appcompat.widget.AppCompatTextView
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:justificationMode="inter_word"
   android:autoLink="web"
   android:text="" />
Run Code Online (Sandbox Code Playgroud)

笔记:

我也尝试过,

  1. 以编程方式进行活动 textview.setMovementMethod(LinkMovementMethod.getInstance());
  2. 在 XML 中 android:linksClickable="true"

但是,这些都无法实现这两个功能(带有理由文本的可点击链接)

如果有人已经实现了这两件事,请告诉我:TextView 中文本的对齐方式以及其中的可点击链接。

android hyperlink textview text-justify

11
推荐指数
1
解决办法
731
查看次数

应用程序崩溃 java.net.SocketTimeoutException: timeout (Kotlin, Retrofit)

如果没有响应,应用程序会在这条线上崩溃。

chain.proceed(requestBuilder.build())
Run Code Online (Sandbox Code Playgroud)

这是我的 RetrofitClient 课程

class RetrofitClient {

    private val apiService: ApiServiceInterface

    init {
        val builder = Retrofit.Builder()
        builder.baseUrl(RequestParameters.BASE_URL)
        builder.addConverterFactory(GsonConverterFactory.create())
        builder.addCallAdapterFactory(RxJava2CallAdapterFactory.create())//added for adapter
        builder.client(getClient())
        val retrofit = builder.build()
        apiService = retrofit.create(ApiServiceInterface::class.java)
    }

    companion object {
        private var clientInstance: RetrofitClient? = null
        lateinit var context: Context

        fun getInstance(): RetrofitClient {
            if (clientInstance == null) {
                clientInstance = RetrofitClient()
            }
            return clientInstance as RetrofitClient
        }
    }

    fun getApiInterface(): ApiServiceInterface {
        return apiService
    }

    private fun getClient(): OkHttpClient {

        val httpClient = OkHttpClient.Builder() …
Run Code Online (Sandbox Code Playgroud)

android httpclient kotlin rx-java retrofit2

8
推荐指数
1
解决办法
3407
查看次数

Java 堆转储:如何通过 1. io.netty.buffer.ByteBufUtil 2. byte[] 数组查找占用内存的对象/类

我发现我的一个spring boot项目的内存(RAM消耗)一天天增加。当我将 jar 文件上传到 AWS 服务器时,它占用了 582 MB 的 RAM(最大分配的 RAM 为 1500 MB),但每天,RAM 增加 50MB 到 100 MB,而今天 5 天后,占用了 835 MB . 现在该项目有 100-150 个用户,并且正常使用 Rest API。

由于 RAM 的增加,有几次应用程序出现以下错误(从日志中发现的错误):

Exception in thread "http-nio-3384-ClientPoller" java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)

所以为了解决这个问题,我发现通过使用 JAVA Heap Dump,我可以找到占用内存的对象/类。因此,通过Jmap在命令行中使用,我创建了一个堆转储并将其上传到Heap HeroEclipse Memory Analyzer Tool。在他们两个中,我发现了以下内容:

1.总浪费内存为:64.69MB (73%)(查看下面的截图)

在此处输入图片说明

2 . 其中,34.06MB 被Byte [] arrayLinkedHashmap[](检查下面的截图)占用,我从未在我的整个项目中使用过。我在我的项目中搜索了它,但没有找到。

在此处输入图片说明 3 . 以下 2 个大对象分别占用 32 MB 和 20 MB。

1. Java Static …
Run Code Online (Sandbox Code Playgroud)

java out-of-memory heap-dump spring-boot java-heap

8
推荐指数
1
解决办法
182
查看次数

ActivityOptions.makeSceneTransitionAnimation无法在具有多个视图的kotlin中工作

这是我用于活动过渡动画的Kotlin代码

    val p1 = Pair.create(imageViewhospitals, "hospitals")
    val p2 = Pair.create(textViewhospitals, "title")

    val options = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                        ActivityOptions.makeSceneTransitionAnimation(this, p1, p2)
                    } else {
                        TODO("VERSION.SDK_INT < LOLLIPOP")
                    }
startActivity(Intent(this,SplashActivity::class.java),options.toBundle())
Run Code Online (Sandbox Code Playgroud)

我收到错误/警告

使用提供的参数不能调用以下任何函数

ActivityOptions.makeSceneTransitionAnimation

animation android transition view kotlin

6
推荐指数
1
解决办法
1431
查看次数

如何在 Android 中创建生命周期感知处理程序?

首先,我知道如何创建Handler。

我正在开发一个项目,我正在Handler使用postDelayed. 有时,应用程序崩溃是因为Activity 被销毁并且处理程序内的任务在 Activity destroy 后执行

我正在寻找 Handler 的替代方案,它可以在延迟后执行,并且它可以是生命周期感知的,这样应用程序就不会崩溃。

我知道如何取消处理程序(删除处理程序或取消活动的 onDestroy/onStop 方法内的处理程序),这里是相同的链接。但我并不是在寻找这些解决方案。如果可以的话,任何替代方案都将是更好的解决方案。

提前致谢!

android android-lifecycle kotlin android-handler

6
推荐指数
1
解决办法
2589
查看次数

Kotlin:如何检查具有lateinit属性的变量是否已初始化

我有一个声明为的变量

private lateinit var apiDisposable: Disposable
Run Code Online (Sandbox Code Playgroud)

然后在onPause()方法中,我正在做

override fun onPause() {
    super.onPause()
    if (!apiDisposable.isDisposed)
        apiDisposable.dispose()
}
Run Code Online (Sandbox Code Playgroud)

但我明白了

kotlin.UninitializedPropertyAccessException:lateinit属性apiDisposable尚未初始化

任何人都可以告诉我如何检查此变量是否已初始化?有没有像这样的方法isInitialised()

任何帮助,将不胜感激

android kotlin rx-java retrofit reactivex

5
推荐指数
2
解决办法
2813
查看次数

Android应用主题更换流畅

我正在开发一个提供白天和夜间主题的项目。

我正在更改主题

夜间主题:

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
Run Code Online (Sandbox Code Playgroud)

日主题:

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
Run Code Online (Sandbox Code Playgroud)

但要查看该活动/应用程序中的更改,我需要重新启动应用程序或重新创建该活动,recreate()但这需要时间,而且不像 WhatsApp 或 Telegram 那样顺利。

那么如何才能顺利地更改应用程序的主题,并且在主题更改时看起来很漂亮呢?

android styles android-theme theme-daynight

5
推荐指数
0
解决办法
267
查看次数

Android:如何仅为我的应用程序设置密码/PIN?

我正在开发一个应用程序,我需要通过为用户设置密码/密码/pin 来设置安全功能,以便每当他们从后台打开应用程序时,应用程序都会要求输入密码/密码/pin。我读了一些这样的文章/解决方案但它们对我没有帮助。我们在普通银行应用程序中发现了相同的功能,每当您打开应用程序时,他们都会要求输入密码/指纹。

我已经设置了将密码/密码保存在共享首选项中的逻辑,但我不确定何时询问。我知道我们不能用密码/pin 活动替换启动屏幕,因为有时从应用程序的 homeScreen/MainActivity 中,用户按下主页按钮,当他们再次从最近的应用程序打开应用程序时,应用程序应该要求密码/pin 来恢复应用程序使用。

任何帮助,将不胜感激。

security android kotlin passcode

5
推荐指数
1
解决办法
3216
查看次数

JAVA Spring Boot:如何访问普通类中的 application.properties 值

我知道如何访问Java Spring boot 中的类application.properties中的值@Service,如下所示

@Service
public class AmazonClient {

    @Value("${cloud.aws.endpointUrl}")
    private String endpointUrl;
}
Run Code Online (Sandbox Code Playgroud)

但我正在寻找一个选项来直接在任何类中访问该值(没有 @Service 注释的类)

例如

public class AppUtils {
      @Value("${cloud.aws.endpointUrl}")
      private String endpointUrl;
}
Run Code Online (Sandbox Code Playgroud)

但这又回来了null。任何帮助,将不胜感激。我已经读过这里但没有帮助。

java class spring-boot

4
推荐指数
1
解决办法
2万
查看次数

如何在水平RecyclerView中捕捉到LinearSnapHelper的特定位置?

如何在水平 RecyclerView 中捕捉到 LinearSnapHelper() 的特定位置?RecyclerView有一个函数scrolltoposition,它滚动到该位置,但没有将其保持在这个snaphelper的中心。

I am looking for something like below image. So when I set to particular position, it will keep it in center. I dont find anything related to select position for SnapHelper

i find this , but this doesn't help me. Any help would be appreciated.

在此输入图像描述

android kotlin android-recyclerview pagersnaphelper

3
推荐指数
1
解决办法
7473
查看次数