我正在开发一个采用标准ActionBar的Android应用程序.
在某个屏幕上,我有一个有条件需要的过滤器图标,
具体取决于所显示数据的特征,例如,某些数据是可过滤的
.
我在动作栏上找不到任何方法,看起来可能是programmaticaly隐藏动作栏动作图标的候选人.如何启用/禁用操作栏操作图标?
或者
我如何隐藏/取消隐藏动作栏动作图标?
我的Apache Kafka制作人(0.9.0.1)间歇地抛出一个
org.apache.kafka.common.errors.NotLeaderForPartitionException
Run Code Online (Sandbox Code Playgroud)
我执行Kafka发送的代码类似于此
final Future<RecordMetadata> futureRecordMetadata = KAFKA_PRODUCER.send(new ProducerRecord<String, String>(kafkaTopic, UUID.randomUUID().toString(), jsonMessage));
try {
futureRecordMetadata.get();
} catch (final InterruptedException interruptedException) {
interruptedException.printStackTrace();
throw new RuntimeException("sendKafkaMessage(): Failed due to InterruptedException(): " + sourceTableName + " " + interruptedException.getMessage());
} catch (final ExecutionException executionException) {
executionException.printStackTrace();
throw new RuntimeException("sendKafkaMessage(): Failed due to ExecutionException(): " + sourceTableName + " " + executionException.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
我赶上NotLeaderForPartitionException
了catch (final ExecutionException executionException) {}
街区.
可以忽略这个特殊的例外吗?
我的Kafka邮件是否已成功发送?
我当前的 Android 应用程序在其单元中使用 MockK
我所有的测试都按预期运行 testImplementation 'org.robolectric:robolectric:4.3'
但是,当我将版本增加到 testImplementation 'org.robolectric:robolectric:4.4'
我所有的测试都失败了,但有以下例外:-
java.lang.IllegalAccessError: tried to access class androidx.lifecycle.LiveData$ObserverWrapper from class androidx.lifecycle.LiveData$Subclass1
at androidx.lifecycle.LiveData$Subclass1.<clinit>(Unknown Source)
at sun.reflect.GeneratedSerializationConstructorAccessor7.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.objenesis.instantiator.sun.SunReflectionFactoryInstantiator.newInstance(SunReflectionFactoryInstantiator.java:48)
at io.mockk.proxy.jvm.ObjenesisInstantiator.instanceViaObjenesis(ObjenesisInstantiator.kt:75)
at io.mockk.proxy.jvm.ObjenesisInstantiator.instantiateViaProxy(ObjenesisInstantiator.kt:66)
at io.mockk.proxy.jvm.ObjenesisInstantiator.instance(ObjenesisInstantiator.kt:29)
at io.mockk.proxy.jvm.ProxyMaker.instantiate(ProxyMaker.kt:75)
at io.mockk.proxy.jvm.ProxyMaker.proxy(ProxyMaker.kt:42)
at io.mockk.impl.instantiation.JvmMockFactory.newProxy(JvmMockFactory.kt:34)
at io.mockk.impl.instantiation.AbstractMockFactory.newProxy$default(AbstractMockFactory.kt:29)
at io.mockk.impl.instantiation.AbstractMockFactory.temporaryMock(AbstractMockFactory.kt:127)
at io.mockk.impl.recording.states.RecordingState$call$retValue$1.invoke(RecordingState.kt:72)
at io.mockk.impl.instantiation.JvmAnyValueGenerator$anyValue$1.invoke(JvmAnyValueGenerator.kt:27)
at io.mockk.impl.instantiation.AnyValueGenerator.anyValue(AnyValueGenerator.kt:27)
at io.mockk.impl.instantiation.JvmAnyValueGenerator.anyValue(JvmAnyValueGenerator.kt:23)
at io.mockk.impl.recording.states.RecordingState.call(RecordingState.kt:70)
at io.mockk.impl.recording.CommonCallRecorder.call(CommonCallRecorder.kt:53)
at io.mockk.impl.stub.MockKStub.handleInvocation(MockKStub.kt:263)
at io.mockk.impl.instantiation.JvmMockFactoryHelper$mockHandler$1.invocation(JvmMockFactoryHelper.kt:25)
at io.mockk.proxy.jvm.advice.Interceptor.call(Interceptor.kt:20)
at io.mockk.proxy.jvm.advice.BaseAdvice.handle(BaseAdvice.kt:42)
at io.mockk.proxy.jvm.advice.jvm.JvmMockKProxyInterceptor.interceptNoSuper(JvmMockKProxyInterceptor.java:45)
at com.my.package.database.dao.ExplanationPublicationDAO$Subclass0.doesExplanationExist(Unknown Source)
at com.my.package.my_details.MyRepositoryTest$doesExplanationExist$1.invoke(MyRepositoryTest.kt:67)
at com.my.package.my_details.MyRepositoryTest$doesExplanationExist$1.invoke(MyRepositoryTest.kt:29)
at io.mockk.impl.eval.RecordedBlockEvaluator$record$block$1.invoke(RecordedBlockEvaluator.kt:24)
at io.mockk.impl.eval.RecordedBlockEvaluator$enhanceWithNPERethrow$1.invoke(RecordedBlockEvaluator.kt:74)
at …
Run Code Online (Sandbox Code Playgroud) UPDATE
我已经在谷歌https://issuetracker.google.com/issues/63663775上打开了一个错误
我正在尝试makeSceneTransitionAnimation
在我当前的Android应用程序中使用.
我有一个Source Activity
,它包含一个Fragment
,而Fragment内部是一个RecyclerView
.
当我单击RecyclerView
I过渡到我的目标Activity
中的图像时,其中包含一个正确显示具有可接受动画的图像的片段.
按后退按钮可正确反转动画.
以上在纵向和横向都可以正常工作.
当我在查看目标片段时更改方向然后按后退按钮时,会出现BLINKING问题.
还有其他问题,例如图像不能直接返回到其原始位置,而在较旧的设备上,我看到水平线像来自严重调谐的模拟电视的干扰.
它的BLINKING非常糟糕,设备屏幕完全黑色约500ms.
我已下载并部署了Google示例共享元素转换应用,它似乎具有相同的"功能".
我尝试了多种解决方案,但没有一种方法可以解决,例如这样.
这是展示问题的一个.
添加了LOGCAT
07-21 12:57:18.097 1962-1967/com.incentive.yellowpages I/zygote64: Do partial code cache collection, code=30KB, data=21KB
07-21 12:57:18.099 1962-1967/com.incentive.yellowpages I/zygote64: After code cache collection, code=30KB, data=23KB
07-21 12:57:18.099 1962-1967/com.incentive.yellowpages I/zygote64: Increasing code cache capacity to 128KB
07-21 12:57:20.540 1962-2058/com.incentive.yellowpages D/OkHttp: --> GET http://www.spyur.am/en/home/search-1/?company_name=Happy http/1.1
07-21 12:57:20.688 1962-1967/com.incentive.yellowpages I/zygote64: Do partial code cache collection, code=61KB, …
Run Code Online (Sandbox Code Playgroud) animation android android-animation android-transitions shared-element-transition
我调查auto-value
及其扩展,也就是auto-value-parcel
和auto-value-parcel-adapter
我的Android应用程序中.
我有这些模型类: -
@AutoValue
public abstract class Xenarchaeota implements Parcelable {
@ParcelAdapter(AmoebaTypeAdapter.class)
public abstract Set<Amoeba> amoebas();
public static Builder builder() {
return new AutoValue_Xenarchaeota.Builder();
}
@AutoValue.Builder
public abstract static class Builder {
public abstract Builder setAmoebas(Set<Amoeba> value);
public abstract Xenarchaeota build();
}
}
Run Code Online (Sandbox Code Playgroud)
和
@AutoValue
public abstract class Amoeba implements Parcelable {
public abstract String surname();
public static Builder builder() {
return new AutoValue_Amoeba.Builder();
}
@AutoValue.Builder
public abstract static class Builder {
public abstract …
Run Code Online (Sandbox Code Playgroud) 我正在调查当前Android应用程序中的可下载字体(和字体作为资源).
当我将字体放在values/font
他们根据需要显示的文件夹中时.
当我使用可下载字体时,它们之间总是有额外的间距.
我必须android:lineSpacingMultiplier="0.5"
在我的布局xml中使用以实现所需的间距.
我将字体应用于textview并允许它包装内容.
我担心使用android:lineSpacingMultiplier
可能会"剪辑"一些字符.
我在做什么(或不做)创建这个文本间距问题?
这是我的布局xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/lexie_readable_regular"
android:padding="4dp"
android:text="@string/testing"
android:textColor="@color/daynight_textColor"
android:textSize="18sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/inknut_antiqua_light"
android:padding="4dp"
android:text="@string/testing"
android:textColor="@color/daynight_textColor"
android:textSize="18sp"
android:textStyle="normal" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/tiresias_infofont"
android:padding="4dp"
android:text="@string/testing"
android:textColor="@color/daynight_textColor"
android:textSize="18sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="@font/aphont_regular_q15c"
android:padding="4dp"
android:text="@string/testing"
android:textColor="@color/daynight_textColor"
android:textSize="18sp" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="CLICK ME"
android:textColor="@color/daynight_textColor" />
<ImageView
android:id="@+id/imageView"
android:layout_width="250dp"
android:layout_height="250dp"
android:layout_gravity="center"
android:src="@drawable/placeholder" />
<LinearLayout …
Run Code Online (Sandbox Code Playgroud) 我当前的Android应用程序使用Retrofit
并RxJava
编排我的网络调用.
我已经将我的HTTP GET Single<Response<String>>
和POST(s)建模为Completable
.
我要求的电话顺序如下: -
顺序调用GET(1),GET(2),GET(3)
并行呼叫POST(1),POST(2)
当POST(1)和POST(2)都完成OK时,请调用GET(4).
我有部分解决方案.我编写了前三个GET的调用,然后是POST调用
我的代码类似于: -
Single.concat(getRequests())
.subscribeOn(Schedulers.single())
.doOnError(throwable -> Log.e(TAG, "Manage Totals Failed", throwable))
.doFinally(new Action() {
@Override
public void run() throws Exception {
manageExecutions(combineExecutions());
}
})
.subscribe();
/**
* @return
*/
private static Iterable<Single<Response<String>>> getRequests() {
final API_CALL_GET[] apiCalls = API_CALL_GET.values();
final List<Single<Response<String>>> requests = new ArrayList<>(apiCalls.length);
for (final API_CALL_GET apiCall : apiCalls) {
requests.add(apiCall.request());
}
return requests;
}
public enum API_CALL_GET {
GET_ONE { …
Run Code Online (Sandbox Code Playgroud) 我正在调查de.undercouch:citeproc-java:2.0.0
我当前的 Android 应用程序。
我无法确定ScriptEngine
适用于 Android 的citeproc-java
.
我的 Gradle 类似于:-
ext {
compileSdkVersion = 30
minSdkVersion = 26
targetSdkVersion = 30
}
dependencies {
implementation 'io.apisense:rhino-android:1.1.1'
implementation 'de.undercouch:citeproc-java:2.0.0'
implementation 'org.citationstyles:styles:20.11'
implementation 'org.citationstyles:locales:20.11'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.10"
}
Run Code Online (Sandbox Code Playgroud)
Citeproc
要求javax.script.ScriptEngineManager
在 Android 平台上不可用,因此我已替换io.apisense:rhino-android:1.1.1
我现在正面临这个例外......
2020-11-19 10:02:22.325 4426-4426/com.google.android.gms.location.sample.basiclocationsample E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.google.android.gms.location.sample.basiclocationsample, PID: 4426
java.lang.RuntimeException: Unable to start activity ComponentInfo{----}: java.lang.IllegalArgumentException: Could not make bibliography
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) …
Run Code Online (Sandbox Code Playgroud) 我正在尝试这个版本的 Android Studio
Android Studio Bumblebee | 2021.1.1 Beta 4
Build #AI-211.7628.21.2111.7905991, built on November 11, 2021
Runtime version: 11.0.11+0-b60-7590822 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 10.15.7
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 12
Registry: external.system.auto.import.disabled=true
Non-Bundled Plugins: org.jetbrains.kotlin (211-1.6.0-release-798-AS7442.40)
Run Code Online (Sandbox Code Playgroud)
我意识到它是测试版,但是我在使用应用程序检查工具时遇到困难。
一天开始时一切都很好,一旦我停止它并尝试重新启动它,它总是失败。
我尝试关闭并重新打开Android Studio,重新启动Android Studio,使缓存无效并重新启动Android Studio,清除文件系统缓存和本地历史记录并重新启动Android Studio
这些操作都无法解决错误状态
Could not launch inspector androidx.sqlite.inspection: Inspector with the given id androidx.sqlite.inspection already exists. It was launched by project MyProject
Run Code Online (Sandbox Code Playgroud)
我应该采取某种方法来解决这个问题吗?
我已经将我的 android studio 版本升级到
Android Studio Iguana | 2023.2.1 Canary 6
Build #AI-232.9921.47.2321.10875067, built on September 28, 2023
Runtime version: 17.0.8+0-17.0.8b1000.22-10799086 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 12.6.1
GC: G1 Young Generation, G1 Old Generation
Memory: 5120M
Cores: 12
Metal Rendering is ON
Registry:
external.system.auto.import.disabled=true
debugger.new.tool.window.layout=true
ide.text.editor.with.preview.show.floating.toolbar=false
ide.instant.shutdown=false
ide.experimental.ui=true
ide.images.show.chessboard=true
Non-Bundled Plugins:
com.github.rmehri01.onenord (0.0.7)
com.arcticicestudio.nord.jetbrains (0.13.0)
Run Code Online (Sandbox Code Playgroud)
和 AGP 版本8.3.0-alpha06
现在我的构建在这两行上失败了
import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties
val googleApiKey: String = gradleLocalProperties(rootDir).getProperty("GOOGLE_API_KEY")
val googleCrashReportingApiKey: String = gradleLocalProperties(rootDir).getProperty("GOOGLE_CRASH_REPORTING_API_KEY")
* What went …
Run Code Online (Sandbox Code Playgroud) android ×8
animation ×1
apache-kafka ×1
auto-value ×1
citeproc-js ×1
gradle ×1
mockk ×1
parcelable ×1
retrofit2 ×1
rhino ×1
robolectric ×1
rx-java2 ×1