小编Dog*_*oge的帖子

Multidex安装失败

我正在使用CircledImageView库.它适用于棒棒糖+ Android版本.但在kitkat它崩溃了.所以在谷歌搜索后.我发现我必须在我的应用程序中实现multidex.

这是我的应用程序类.

public class FireApp extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        Firebase.setAndroidContext(this);
        Fresco.initialize (this);
    }

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

在defaultconfig下的build.gradle中,MultiDexEnabled为true

multiDexEnabled true
Run Code Online (Sandbox Code Playgroud)

但是当我运行应用程序时,我收到以下错误.

java.lang.NoSuchFieldException: Field dexElementsSuppressedExceptions not found in class dalvik.system.PathClassLoader
 at android.support.multidex.MultiDex.findField(MultiDex.java:288)
 at android.support.multidex.MultiDex.access$300(MultiDex.java:57)
 at android.support.multidex.MultiDex$V19.install(MultiDex.java:390)
 at android.support.multidex.MultiDex$V19.access$000(MultiDex.java:369)
 at android.support.multidex.MultiDex.installSecondaryDexes(MultiDex.java:242)
 at android.support.multidex.MultiDex.install(MultiDex.java:161)
 at android.support.multidex.MultiDexApplication.attachBaseContext(MultiDexApplication.java:39)
 at com.buckydroid.anonchat.FireApp.attachBaseContext(Unknown Source)
 at android.app.Application.attach(Application.java:182)
 at android.app.Instrumentation.newApplication(Instrumentation.java:991)
 at android.app.Instrumentation.newApplication(Instrumentation.java:975)
 at android.app.LoadedApk.makeApplication(LoadedApk.java:511)
 at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4564)
 at android.app.ActivityThread.access$1500(ActivityThread.java:139)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353)
 at android.os.Handler.dispatchMessage(Handler.java:102)
 at android.os.Looper.loop(Looper.java:149)
 at android.app.ActivityThread.main(ActivityThread.java:5268)
 at java.lang.reflect.Method.invokeNative(Native …
Run Code Online (Sandbox Code Playgroud)

java android android-multidex

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

使用多种视图类型在recyclerview中滚动到底部

我有一个包含多个项目的recyclerview.和recyclerview有不同的视图类型和不同的高度..

所以这些是我尝试过的

recyclerview.scrollToPosition(adapterWrapper.getAdapter().getItemCount()-1);
Run Code Online (Sandbox Code Playgroud)

app:layoutManager="LinearLayoutManager"
app:stackFromEnd="true"
Run Code Online (Sandbox Code Playgroud)

当我将它们应用于单一视图类型时,它们对我很有用.但是在多视图类型中.它不是滚动到底部.它被困在底部之前的9个项目中.

我以前stackFromBottom在listview 中使用它工作正常..

那么在recyclerview中它的解决方案是什么?

它实际上是一个聊天应用程序,具有不同类型的布局,包括图像,GIF等.

RecyclerAdapter代码,

package com.buckydroid.anonchat.Adapters;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.URLUtil;
import android.widget.ImageView;
import android.widget.PopupMenu;
import android.widget.TextView;
import android.widget.Toast;

import com.buckydroid.anonchat.Async.DownloadManager;
import com.buckydroid.anonchat.Chatroom.ChatRoom;
import com.buckydroid.anonchat.Pages.FullScreenImageView;
import com.buckydroid.anonchat.Pages.Profile;
import com.buckydroid.anonchat.Pages.VideoPlayer;
import com.buckydroid.anonchat.R;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.resource.drawable.GlideDrawable;
import com.bumptech.glide.load.resource.gif.GifDrawable;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.GlideDrawableImageViewTarget;
import com.bumptech.glide.request.target.Target;
import com.firebase.client.DataSnapshot;
import com.firebase.client.Firebase;
import com.firebase.client.FirebaseError;
import com.firebase.client.ValueEventListener; …
Run Code Online (Sandbox Code Playgroud)

java android admob recycler-adapter android-recyclerview

14
推荐指数
2
解决办法
982
查看次数

如何在BottomBar布局android中添加中间按钮

我想在底部栏布局的中间添加像超大按钮这样的 facebook Messenger,但对如何添加感到困惑..

脸书信使

我正在使用 ahbottomnavigation 库来制作我的底部栏。

java xml android android-layout bottomnavigationview

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

从Firebase Analytics检索用户属性

我目前正在按如下方式设置Firebase Analytics属性,例如性别和用户名:

firebaseAnalytics.setUserProperty("username", /*someusername*/);
Run Code Online (Sandbox Code Playgroud)

成功设置它们后,我希望能够在应用程序内的其他位置接收它们。某种程度上类似于Firebase数据库。

这可能吗?我在Firebase文档中找不到任何解释。

android firebase firebase-analytics

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

如何从AlertDialog Android中删除视图

我正在使用自定义 EditText 字段制作警报对话框。

我创建了一个View变量,然后将其与我的自定义EditText字段相关联。

requestView = inflater.inflate(R.layout.send_request,null);
Run Code Online (Sandbox Code Playgroud)

然后我将该视图添加到我的 AlertDialog 中

alert.setView(requestView);
Run Code Online (Sandbox Code Playgroud)

之后,我将 onClick 方法添加到我的按钮以执行警报对话框操作。

chatRequestbtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                alert.setPositiveButton("Send", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        request = requestMsg.getText().toString();

                        send();

                    }
                });
                alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.cancel();

                    }
                });

                alert.show();

            }
        });
Run Code Online (Sandbox Code Playgroud)

它工作正常。但是在按下警报对话框上的取消选项后,当我再次按下按钮以执行警报对话框选项时。

它因以下错误而崩溃。

java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's …
Run Code Online (Sandbox Code Playgroud)

java android android-layout

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

刷新令牌后如何恢复主题订阅?

所以我使用gcm令牌订阅特定主题.它工作正常.但现在我再次卸载并安装了该应用程序.并且设备令牌已更改.

那么我现在必须再次订阅所有主题吗?或者有任何解决方案.

谢谢

android firebase firebase-cloud-messaging

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