小编and*_*dev的帖子

从onRequestPermissionsResult()中调用DialogFragment的show()会在Marshmallow中导致IllegalStateException

脚步:

  1. Fragment或请求许可Activity
  2. 从内部显示DialogFragment onRequestPermissionsResult()
  3. java.lang.IllegalStateException 抛出:之后无法执行此操作 onSaveInstanceState

当我在延迟一段时间后显示对话框时(使用postDelayed),这不会发生.据http://www.androiddesignpatterns.com/2013/08/fragment-transaction-commit-state-loss.html)上,我们可以蜂窝后设备commit()之间onPause()onStop()没有任何国家损失或异常.这是一个示例项目源,日志文件和记录问题的链接. https://drive.google.com/folderview?id=0BwvvuYbQTUl6STVSZF9TX2VUeHM&usp=sharing

此外,我已经打开了一个问题https://code.google.com/p/android/issues/detail?id=190966,但它被标记为WorkingAsIntended,他们建议只捕获异常.但这并没有解决问题.我知道解决它的其他方法,但这不是这个安卓漏洞吗?

更新 错误状态再次"分配".希望很快就能解决.我的临时解决方案是

new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        // do your fragment transaction here
    }
}, 200);
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-dialogfragment android-permissions android-6.0-marshmallow

38
推荐指数
3
解决办法
6280
查看次数

Android recylerview v.23.2.0和设计库v.23.2.0已损坏

更新到v23.2.0后,recyclerview项目有奇怪的行为:空间非常大.更新到设计库23.2.0菜单溢出图标变为黑色(应用程序有黑暗的操作栏).

更新 在我的nexus 5溢出图标和回收器视图行是固定的,但在Galaxy Tab 4溢出图标仍然是黑色.

更新2 如果您有空间距问题,请修复视图的布局参数(match_parent - > wrap_content),因为RecyclerView现在将根据其内容的大小自行调整大小.阅读此博客 http://android-developers.blogspot.am/2016/02/android-support-library-232.html

RecyclerView小部件为创建列表和网格以及支持动画提供了高级灵活的基础.此版本为LayoutManager API带来了令人兴奋的新功能:自动测量!这允许RecyclerView根据其内容的大小调整自身大小.这意味着现在可以使用以前不可用的方案,例如使用WRAP_CONTENT作为RecyclerView的维度.您会发现所有内置的LayoutManagers现在都支持自动测量.

由于此更改,请务必仔细检查项目视图的布局参数:现在将完全遵循先前忽略的布局参数(例如滚动方向中的MATCH_PARENT).

更新3 链接到描述操作栏问题201918中黑色图标 问题的问题

更新4 在帖子下看到我的回答,图标问题也解决了

android android-support-library android-recyclerview android-support-design

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

升级到最新支持库后,Android JACK编译器出错

--Android Studio 2.2.3(Windows 10 64位)

--Build Tools版本25

--Android Gradle Plugin 2.2.3版

升级到最新的支持库(25.4.0从23.4.0)和更改编译版本(25从23)后,我收到此错误:

错误:com.android.sched.util.config.PropertyIdException:属性'jack.library.import'(在选项中):元素#7:库文件的版本'..\app\build\intermediates\transforms\preJackPackagedLibraries不再支持\ debug\jars\8000\1f\classes-1b6639e8217419d056942b0dacd1542739f1709f.jar'.库版本:3.2 - 当前版本:3.3 - 最低兼容版本:3.3 ... BUILD FAILED

有没有人遇到过这个问题?在提到的.jar文件中,我可以找到一些AnimatedVectorDrawble相关文件.我的app build.gradle android {compileSdkVersion 25 buildToolsVersion '25 .0.2'

defaultConfig {
    applicationId "package"
    minSdkVersion 14
    targetSdkVersion 25
    versionCode 111
    versionName "1.1.1"
}

defaultConfig {
    vectorDrawables.useSupportLibrary = true
    jackOptions.enabled = true
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

dexOptions {
    maxProcessCount 4
    javaMaxHeapSize "2g"
}

buildTypes {
    release {
        minifyEnabled false
        useProguard false
        shrinkResources false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug …
Run Code Online (Sandbox Code Playgroud)

android gradle android-support-library android-jack-and-jill

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

Java - 将二进制解析为long

我有一个数字的二进制表示,并希望将其转换为long(我有Java 8)

public class TestLongs {
public static void main(String[] args){
    String a = Long.toBinaryString(Long.parseLong("-1")); // 1111111111111111111111111111111111111111111111111111111111111111
    System.out.println(a);
    System.out.println(Long.parseLong(a, 2));// ??? but Long.parseUnsignedLong(a, 2) works
}
Run Code Online (Sandbox Code Playgroud)

}

这段代码导致Exception in thread "main" java.lang.NumberFormatException: For input string: "1111111111111111111111111111111111111111111111111111111111111111" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 1111111111111111111111111111111111111111111111111111111111111111 at java.lang.Long.parseLong(Long.java:592) 这里有什么问题?为什么Long.parseLong(a,2)不起作用?

java string binary java-8

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

Android NDK应用程序在运行甚至没有调用的函数时崩溃

我正在尝试基于Miracl crypto lib(C/C++)构建一个Android应用程序.我已将他们的资源和我的资源添加到jni文件夹中.并编写了对函数的简单调用,该函数加载shared_library并返回字符串(withoud调用c ++函数,只返回一个字符串).但是应用程序在运行A/libc时崩溃了吗?致命信号11(SIGSEGV),代码1,故障地址0x0在tid 17711中

在Windows 7/x64 Android Studio 1.1.0 Android r10d NDK上工作

Application.mk 
APP_PLATFORM := android-17 
APP_ABI := armeabi-v7a 
APP_STL := stlport_static

Android.mk
LOCAL_PATH := $(call my-dir)

# final lib, which will depend on others
include $(CLEAR_VARS)
LOCAL_CPPFLAGS  := --std=c++11 -DMR_PAIRING_BLS
LOCAL_MODULE    := CryptoLib

#find all the file recursively under jni/
LOCAL_C_INCLUDES := $(LOCAL_PATH)/miraclsources 
LOCAL_CPP_EXTENSION := .cpp .c

LOCAL_SRC_FILES  := miraclsources/mrcore.c \
                    miraclsources/mrarth0.c \
                    miraclsources/mrarth1.c \
                    miraclsources/mrarth2.c \
                    miraclsources/mralloc.c \
                    miraclsources/mrsmall.c \
                    miraclsources/mrio1.c \
                    miraclsources/mrio2.c \
                    miraclsources/mrgcd.c \
                    miraclsources/mrjack.c …
Run Code Online (Sandbox Code Playgroud)

android shared-libraries android-ndk android-studio ndk-build

5
推荐指数
0
解决办法
963
查看次数

如何将新的Android 2.0 Shrinker和Resource Shrinker一起使用?

我正在尝试使用新的Shrinker进行调试构建(在3:14)

https://youtu.be/xxx3Fn7EowU?t=3m14s

此外,我想在此之后启用收缩未使用的资源.

我的配置是

        debug {
        minifyEnabled true
        useProguard false
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
Run Code Online (Sandbox Code Playgroud)

但是Gradle同步失败并显示错误消息:

错误:尚不支持内置类收缩器和资源收缩.

这是可能的还是我需要启用完整的proguard才能使用资源缩减?

android proguard android-studio android-proguard

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

BottomSheetDialogFragment为Dark主题设置了错误的背景颜色

我最近在我的应用程序中添加了BottomSheetDialogFragment,但它将Material Dark主题的背景颜色显示为白色.即使我使用

android:background="?android:attr/colorBackground"
Run Code Online (Sandbox Code Playgroud)

对于对话框的根布局,它仍然是白色的(但是在对话框之外这个attr是可以的).有没有人遇到过这个问题?

android android-theme android-support-library

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

FusedLocationProviderClient 不发送位置更新

我尝试在 Android 上使用新的简化位置 API(在 GPS 11.0 中引入)。我编写了一个实现位置 API 的服务。但它只触发并发送位置几秒钟(只有 2 次)。

    public class LocationService extends Service {
    public static final String TAG = makeLogTag("LocationService");

    private static final float LOCATION_TRACKING_MIN_DISTANCE = 15f;
    private static final float ACCEPTED_ACCURACY = 50f;

    private final IBinder mBinder = new LocalBinder();

    // fused location api
    private FusedLocationProviderClient mFusedLocationClient;
    private LocationRequest mLocationRequest;
    private LocationCallback mLocationCallback;

    @Override
    public void onCreate() {
        super.onCreate();
        Log.i(TAG, "onCreate");
        mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
        createLocationCallback();
        createLocationRequest();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int …
Run Code Online (Sandbox Code Playgroud)

service android location google-play-services

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

无法通过?attr设置标题首选项图标

我创建了preference-headers.xml.我想通过设置标题图标?attr,但它不显示图标.

<?xml version="1.0" encoding="utf-8"?>
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android" >

<header
    android:fragment="com.armsoft.mtrade.activities.PreferencesActivity$PrefsAboutFragment"
    android:icon="?attr/menuIconAbout"
    android:title="@string/about" />

</preference-headers>
Run Code Online (Sandbox Code Playgroud)

android android-preferences

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

Google Play 中 aab 的映射文件

根据/sf/answers/3742073401/如果我们发布 aab 文件,映射文件将自动从那里获取。如果我们还是上传会发生什么?它会覆盖 aab 文件中的文件吗?我可以上传它的地方在这里:“ReTrace映射文件” 上传映射文件

android proguard google-play

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