我有两个RecyclerView.Adapter
s使用RecyclerView.ViewHolder
与内部类完全相同的s.
我想摆脱代码重复,并使这些ViewHolder
免费,独立的类,所以现在全新的类可以被任何RecyclerView.Adapter
s使用.
但是,我遇到了许多麻烦,例如访问适配器对象的困难.getAdapterPosition()
总是回来-1
.
所以我改变主意并制作了一个超级RecyclerView.Adapter
类,它由这些适配器扩展,并将ViewHolder放在超类中,以便这些适配器可以从子类中使用它.
但我想知道是否ViewHolder
必须是一个内在阶级.这让我很生气.请不要建议我结合适配器类,它们是完全不同的,因为ViewHolder
它只是一个viewType
可以出现在任何特殊的特殊RecyclerView
我在等待你让我感觉更好的更好的方法.
问候.
这是我的 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 类?
我想用这个命令运行我的单元测试
gradlew.bat connectedInstrumentTest
Run Code Online (Sandbox Code Playgroud)
但它试图下载https://services.gradle.org/distributions/gradle-2.2.1-all.zip
我的下属阻止了它.因此,我想手动设置zip,我已经从浏览器下载了它.
我失败的方式如下所示
除了这些之外的任何建议将非常感谢.谢谢.
我在这个 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
。
任何建议将不胜感激。
我有一个如下所示的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.我需要同时使用它们.
任何建议将不胜感激.
我正在尝试按照以下文档的说明来分析我的构建:
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)