我正在使用Firebase Recycler Adapter(Firebase UI库)来填充Recycler View.我想在条件上隐藏项目(行).我有一个包含回收者视图的LinearLayout.
我在populateViewHolder()循环器视图适配器的方法中将线性布局可见性设置为Gone .
@Override
protected void populateViewHolder(UsersViewHolder viewHolder, User user, int position) {
if (user.getUserEmail().equals(Utils.decodeEmail(userEmail))) {
viewHolder.llMain.setVisibility(View.GONE);
return;
}
viewHolder.tvUserEmail.setText(user.getUserEmail());
}
Run Code Online (Sandbox Code Playgroud)
它隐藏了LinearLayout,但行仍留有空白.
是否有任何方法我应该覆盖以克服这个或有什么方法来实现结果?
android firebase android-recyclerview firebase-realtime-database firebaseui
我想使用okhttp上传图像,但我无法找到Postpart的MultipartBuilder.我可以使用什么而不是这个.
这是我的代码
public static JSONObject uploadImage(File file) {
try {
final MediaType MEDIA_TYPE_PNG = MediaType.parse("image/png");
RequestBody req = new MultipartBuilder().setType(MultipartBody.FORM).addFormDataPart("userid", "8457851245")
.addFormDataPart("userfile","profile.png", RequestBody.create(MEDIA_TYPE_PNG, file)).build();
Request request = new Request.Builder()
.url("url")
.post(req)
.build();
OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
Log.d("response", "uploadImage:"+response.body().string());
return new JSONObject(response.body().string());
} catch (UnknownHostException | UnsupportedEncodingException e) {
Log.e(TAG, "Error: " + e.getLocalizedMessage());
} catch (Exception e) {
Log.e(TAG, "Other Error: " + e.getLocalizedMessage());
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我试图将FlexBox布局与 JetpackCompose 一起使用。我假设我可以使用正常RecyclerView并使用ComposeView来渲染我的视图。
因此,我从文档开始,尝试了 Compose 文档中给出的所有步骤,以将其与 RecyclerView 一起使用。
但是一旦我这样做了,我就收到以下错误:
java.lang.IllegalStateException: Cannot locate windowRecomposer; View androidx.compose.ui.platform.ComposeView{83fefc1 V.E...... ......I. 0,0-0,0} is not attached to a window
Run Code Online (Sandbox Code Playgroud)
[1] 适配器代码
class SelectAisleAdapter : BaseRecyclerViewAdapter<Any, SelectAisleAdapter.SelectAisleViewHolder>() {
override fun getViewHolder(
inflater: LayoutInflater,
parent: ViewGroup,
viewType: Int
): SelectAisleViewHolder {
return SelectAisleViewHolder(ComposeView(parent.context))
}
override fun onViewRecycled(holder: BaseViewHolder<Any>) {
super.onViewRecycled(holder)
if (holder is SelectAisleViewHolder) {
holder.composeView.disposeComposition()
}
}
inner class SelectAisleViewHolder(val composeView: ComposeView) : BaseViewHolder<Any>(composeView) {
init {
composeView.setViewCompositionStrategy(
ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed
) …Run Code Online (Sandbox Code Playgroud) 我在玩 Jetpack ComposeTextField时发现键盘有一种奇怪的行为。
如果我的文本字段位于屏幕底部并且我打开键盘,则文本字段将保持隐藏在键盘后面。
我也尝试了一些解决方案。
修改android:windowSoftInputMode="adjustPan"和android:windowSoftInputMode="adjustResize"
如果我使用 adjustmentPan,有时 TextField 会随着键盘抬起,但有时不会。
这是正在发生的事情的代码和图像。
我想在gradle中添加第三方库.它显示以下错误:
这是我的gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
compileOptions.encoding = 'ISO-8859-1'
defaultConfig {
applicationId "com.attendme.io"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.4" //1.4.1
//multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile files('libs/kandy-1.6.160.jar')
compile files('libs/gcm.jar')
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:design:23.3.0'
compile 'com.android.support:recyclerview-v7:23.3.0'
//compile 'com.google.android.gms:play-services-gcm:8.4.0'
//compile 'com.google.android.gms:play-services-maps:8.4.0'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.github.ParkSangGwon:TedPicker:v1.0.10'
}
Run Code Online (Sandbox Code Playgroud)
当我在搜索这个问题时,我找到了一些解决方案,但它们并没有为我工作.我该如何解决这个问题?
最近我遇到了tools:context在我的布局文件中使用活动的用例。我了解到我可以使用它来将 Activity 类文件关联到我的布局文件。
但是我如何使用它来将 Fragment 类文件与任何布局相关联呢?
Bacuase 正如我所尝试的那样,它仅在自动完成建议中显示活动列表。
我正在尝试使用RGB值创建颜色,但出现以下错误。我无法找到解决方案。
Color(148f, 148f, 148f, 1f)
Run Code Online (Sandbox Code Playgroud)
以下是我收到的错误:
java.lang.IllegalArgumentException: red = 148.0, green = 148.0, blue = 148.0, alpha = 1.0 outside the range for sRGB IEC61966-2.1 (id=0, model=Rgb)
at androidx.compose.ui.graphics.ColorKt.Color(Color.kt:405)
at androidx.compose.ui.graphics.ColorKt.Color$default(Color.kt:398)
at com.template.app.util.toast.CustomToast$successView$1$1.invoke(CustomToast.kt:86)
at com.template.app.util.toast.CustomToast$successView$1$1.invoke(CustomToast.kt:83)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.ui.platform.ComposeView.Content(ComposeView.android.kt:384)
at androidx.compose.ui.platform.AbstractComposeView$ensureCompositionCreated$1.invoke(ComposeView.android.kt:228)
at androidx.compose.ui.platform.AbstractComposeView$ensureCompositionCreated$1.invoke(ComposeView.android.kt:227)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:215)
at androidx.compose.ui.platform.CompositionLocalsKt.ProvideCommonCompositionLocals(CompositionLocals.kt:148)
at androidx.compose.ui.platform.AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$3.invoke(AndroidCompositionLocals.android.kt:114)
at androidx.compose.ui.platform.AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$3.invoke(AndroidCompositionLocals.android.kt:113)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:215)
at androidx.compose.ui.platform.AndroidCompositionLocals_androidKt.ProvideAndroidCompositionLocals(AndroidCompositionLocals.android.kt:106)
at androidx.compose.ui.platform.WrappedComposition$setContent$1$1$3.invoke(Wrapper.android.kt:162)
at androidx.compose.ui.platform.WrappedComposition$setContent$1$1$3.invoke(Wrapper.android.kt:161)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:215)
at …Run Code Online (Sandbox Code Playgroud) 最近,我试图为我的 Android 应用程序创建一个 Java/Kotlin 模块。当我创建 Retrofit 时Interceptor,出现错误:
无法将使用 JVM 目标 1.8 构建的字节码内联到使用 JVM 目标 1.6 构建的字节码中。请指定正确的“-jvm-target”选项。
这是确切错误的屏幕截图:
我知道如何设置-jvm-target我的 Android 模块。但我无法找到如何在 Java/Kotlin 模块中设置它的答案。
这是我已经尝试过的:
[解决方案1(不起作用)]
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
compileKotlin {
targetCompatibility(JavaVersion.VERSION_1_8)
}
Run Code Online (Sandbox Code Playgroud)
[解决方案2(不起作用)]
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
Run Code Online (Sandbox Code Playgroud)
上面的代码给了我以下错误:
找不到参数的 kotlinOptions() 方法
我正在我的应用程序中实现Firebase Recyclerview UI.我已经实现了一个recyclerview适配器,它向我显示以下异常.以下是我的适配器代码:
FirebaseRecyclerAdapter<DataSnapshot, MyHolder> recyclerAdapter = new FirebaseRecyclerAdapter<DataSnapshot, MyHolder>(
DataSnapshot.class,
R.layout.row_slots,
MyHolder.class,
databaseReference.child("slots").child(uid).child(dayOfWeek).child("time")
) {
@Override
protected void populateViewHolder(MyHolder viewHolder, DataSnapshot model, int position) {
System.out.println("Key : "+model.getKey());
}
};
Run Code Online (Sandbox Code Playgroud)
如何使用FirebaseRecyclerAdapter获取快照值?
android ×8
firebase ×2
firebaseui ×2
android-xml ×1
build.gradle ×1
gradle ×1
image ×1
okhttp3 ×1
textfield ×1
upload ×1