小编Ege*_*tçu的帖子

RecyclerView.ViewHolder总是必须是内部类吗?

我有两个RecyclerView.Adapters使用RecyclerView.ViewHolder与内部类完全相同的s.

我想摆脱代码重复,并使这些ViewHolder免费,独立的类,所以现在全新的类可以被任何RecyclerView.Adapters使用.

但是,我遇到了许多麻烦,例如访问适配器对象的困难.getAdapterPosition()总是回来-1.

所以我改变主意并制作了一个超级RecyclerView.Adapter类,它由这些适配器扩展,并将ViewHolder放在超类中,以便这些适配器可以从子类中使用它.

但我想知道是否ViewHolder必须是一个内在阶级.这让我很生气.请不要建议我结合适配器类,它们是完全不同的,因为ViewHolder它只是一个viewType可以出现在任何特殊的特殊RecyclerView

我在等待你让我感觉更好的更好的方法.

问候.

java android android-viewholder android-recyclerview

11
推荐指数
2
解决办法
2986
查看次数

Javadoc @link 到 Kotlin 类

这是我的 javadoc

/**
 * If you wish to add this fragment to your activity, you must implement {@link com.example.app.BlaActivity BlaActivity}
 *
 * @return an instance of BlaFragment
 */
Run Code Online (Sandbox Code Playgroud)

BlaActivity是一个 Kotlin 类。当我将鼠标悬停在上面带有 javadoc 的方法上时,弹出窗口显示:

If you wish to add this fragment to your activity, you must implement

Returns:
        an instance of BlaFragment
Run Code Online (Sandbox Code Playgroud)

因此,它不会在弹出窗口中显示我的 Kotlin 类。但是,当我使用 Java 类时它工作正常。

Javadoc 不支持 Kotlin 类?

java javadoc kotlin

11
推荐指数
2
解决办法
2473
查看次数

如何手动设置gradle-2.2.1-all.zip

我想用这个命令运行我的单元测试

gradlew.bat connectedInstrumentTest
Run Code Online (Sandbox Code Playgroud)

但它试图下载https://services.gradle.org/distributions/gradle-2.2.1-all.zip

我的下属阻止了它.因此,我想手动设置zip,我已经从浏览器下载了它.

我失败的方式如下所示

  • 在Program Files\Android\Android Studio\gradle\gradle-2.2.1中粘贴它不起作用
  • 文件 - >设置 - >构建执行,部署 - >构建工具和定义gradle主目录不起作用

除了这些之外的任何建议将非常感谢.谢谢.

java android unit-testing gradle android-studio

9
推荐指数
2
解决办法
3万
查看次数

在形状 XML 中使用 attr 会导致 Android 崩溃

我在这个 XML 中有一个可绘制对象:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:endColor="@color/transparent"
        android:gradientRadius="200dp"
        android:startColor="?attr/primaryDarkTransparent"
        android:type="radial" />
</shape>
Run Code Online (Sandbox Code Playgroud)

startColor当使用以下内容时,XML 会导致崩溃?attr/primaryDarkTransparent

Caused by: java.lang.RuntimeException: org.xmlpull.v1.XmlPullParserException: <internal><gradient> tag requires 'gradientRadius' attribute with radial type Caused by: org.xmlpull.v1.XmlPullParserException: <internal><gradient> tag requires 'gradientRadius' attribute with radial type

attr戏剧性的故事是,当我使用insolid和时它运行得很好stroke,但我不知道 到底发生了什么gradient

任何建议将不胜感激。

xml android attr

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

Android TalkBack:提示覆盖contentDescription

我有一个如下所示的EditText

<EditText
    android:id="@+id/extUsername"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:contentDescription="Username field"
    android:hint="Username" />
Run Code Online (Sandbox Code Playgroud)

我希望TalkBack说"用户名字段",但它说"用户名".它忽略了contentDescription.

不要告诉我删除提示或contentDescription.我需要同时使用它们.

任何建议将不胜感激.

android accessibility hint talkback

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

Gradle 分析构建不适用于 Android

我正在尝试按照以下文档的说明来分析我的构建:

https://developer.android.com/studio/build/optimize-your-build#profile

我尝试像下面一样运行它

./gradlew --profile --offline --rerun-tasks assembleBetaDebug
Run Code Online (Sandbox Code Playgroud)

它给出以下错误:

* What went wrong:
Could not write to file 'reports/profile/profile-2020-04-08-11-53-41.html'.
> Unable to create directory 'reports/profile'
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

org.gradle.api.UncheckedIOException: Could not write to file 'reports/profile/profile-2020-04-08-11-53-41.html'.
    at org.gradle.internal.IoActions$TextFileWriterIoAction.execute(IoActions.java:152)
    at org.gradle.internal.IoActions$TextFileWriterIoAction.execute(IoActions.java:127)
    at org.gradle.internal.IoActions.writeTextFile(IoActions.java:45)
    at org.gradle.reporting.HtmlReportRenderer$DefaultHtmlReportContext.renderHtmlPage(HtmlReportRenderer.java:120)
    at org.gradle.reporting.HtmlReportRenderer$1.render(HtmlReportRenderer.java:61)
    at org.gradle.reporting.HtmlReportRenderer$1.render(HtmlReportRenderer.java:58)
    at org.gradle.reporting.HtmlReportRenderer.render(HtmlReportRenderer.java:42)
    at org.gradle.reporting.HtmlReportRenderer.renderSinglePage(HtmlReportRenderer.java:58)
    at org.gradle.profile.ProfileReportRenderer.writeTo(ProfileReportRenderer.java:32)
    at org.gradle.profile.ReportGeneratingProfileListener.buildFinished(ReportGeneratingProfileListener.java:50)
    at jdk.internal.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
    at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.internal.event.DefaultListenerManager$ListenerDetails.dispatch(DefaultListenerManager.java:382)
    at org.gradle.internal.event.DefaultListenerManager$ListenerDetails.dispatch(DefaultListenerManager.java:364)
    at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58)
    at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:352)
    at org.gradle.internal.event.DefaultListenerManager$EventBroadcast.dispatch(DefaultListenerManager.java:163)
    at org.gradle.internal.event.DefaultListenerManager$EventBroadcast.dispatch(DefaultListenerManager.java:137)
    at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
    at com.sun.proxy.$Proxy5.buildFinished(Unknown Source)
    at …
Run Code Online (Sandbox Code Playgroud)

android gradle

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