小编Dha*_*val的帖子

如何在特定条件下隐藏Recycler View中的项目?

我正在使用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

38
推荐指数
6
解决办法
4万
查看次数

使用okHttp上传图片

我想使用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)

提前致谢.

upload android image okhttp3

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

ComposeView 未附加到窗口 - Jetpack Compose

我试图将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)

android-recyclerview android-jetpack-compose

13
推荐指数
0
解决办法
2066
查看次数

TextField 隐藏在键盘后面 - Jetpack Compose

我在玩 Jetpack ComposeTextField时发现键盘有一种奇怪的行为。

如果我的文本字段位于屏幕底部并且我打开键盘,则文本字段将保持隐藏在键盘后面。

我也尝试了一些解决方案。

  1. 修改android:windowSoftInputMode="adjustPan"android:windowSoftInputMode="adjustResize"

  2. 如果我使用 adjustmentPan,有时 TextField 会随着键盘抬起,但有时不会。


这是正在发生的事情的代码和图像。

在此输入图像描述

在此输入图像描述

android textfield android-jetpack-compose

7
推荐指数
1
解决办法
5068
查看次数

无法在android studio中解析库

我想在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)

当我在搜索这个问题时,我找到了一些解决方案,但它们并没有为我工作.我该如何解决这个问题?

android build.gradle android-gradle-plugin

4
推荐指数
1
解决办法
3248
查看次数

如何使用 tools:context 关联 Fragment 文件?

最近我遇到了tools:context在我的布局文件中使用活动的用例。我了解到我可以使用它来将 Activity 类文件关联到我的布局文件。

但是我如何使用它来将 Fragment 类文件与任何布局相关联呢?

Bacuase 正如我所尝试的那样,它仅在自动完成建议中显示活动列表。

android android-layout android-xml

4
推荐指数
2
解决办法
2083
查看次数

如何使用红、绿、蓝值创建颜色?- Jetpack 组合

我正在尝试使用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 android-jetpack-compose

3
推荐指数
1
解决办法
3837
查看次数

Android Studio - 如何在 Java/Kotlin 模块中指定“-jvm-target”选项?

最近,我试图为我的 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() 方法

android gradle android-studio android-module

2
推荐指数
1
解决办法
5531
查看次数

DataSnapshot缺少没有参数的构造函数

我正在我的应用程序中实现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 firebase firebaseui

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