相关疑难解决方法(0)

@hide在Android源代码中的含义是什么?

对于Activity源代码,第3898行(靠近底部):

/**
 * @hide
 */
public final boolean isResumed() {
    return mResumed;
}
Run Code Online (Sandbox Code Playgroud)

什么@hide意思?

我发现我public class ChildActivity extends Activity { ... }不能用/看Activity.isResumed().这是正常的吗?我该如何访问它?

android android-source android-activity

113
推荐指数
3
解决办法
4万
查看次数

getThreadHandler 方法无法从 HandlerThread 实例访问

我正在查看HandlerThread类的源代码并注意到该类包含一个数据成员 mHandler。mHandler 是 Handler 类型的实例。

private @Nullable Handler mHandler;
Run Code Online (Sandbox Code Playgroud)

还有一个访问器方法,用于获取在HandlerThread类中定义的私有成员的实例。

@NonNull
public Handler getThreadHandler() {
    if (mHandler == null) {
        mHandler = new Handler(getLooper());
    }
    return mHandler;
}
Run Code Online (Sandbox Code Playgroud)

我试图通过调用我的 HandlerThread 引用上的方法来获取对 mHandler 成员的引用。AndroidStudio 不允许在 HandlerThread 实例上调用 getThreadHandler 方法。该方法似乎是公共的,就像可以在 HandlerThread 实例上调用的其他公共方法一样。有谁知道为什么不能在 HandlerThread 实例上调用公共方法 getThreadHandler 。我只是在类/方法/成员定义中遗漏了什么吗?我用于实例化 HandlerThread 实例和调用方法的代码如下所示。

...

import android.os.*

...

class SearchActivity : AppCompatActivity(), View.OnClickListener {

...

    private val backgroundWork = HandlerThread("BackgroundApiCall")
    private lateinit var backgroundHandler: Handler

    ...

    override fun onCreate(savedInstanceState: Bundle?) {

        ...

        backgroundWork.start()
        backgroundHandler …
Run Code Online (Sandbox Code Playgroud)

java android kotlin kotlin-android-extensions

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