小编Bil*_*lda的帖子

Spinner中奇怪的NullPointerException

从Android 4.4 KitKat开始,我的应用程序出现了奇怪的崩溃.它似乎与微调器有关.我收到的这个bug堆栈跟踪:

java.lang.NullPointerException
    at android.widget.TextView.makeNewLayout(TextView.java:6124)
    at android.widget.TextView.onMeasure(TextView.java:6400)
    at android.view.View.measure(View.java:16458)
    at android.widget.Spinner.setUpChild(Spinner.java:632)
    at android.widget.Spinner.makeView(Spinner.java:595)
    at android.widget.Spinner.getBaseline(Spinner.java:431)
    at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1089)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:590)
    at android.view.View.measure(View.java:16458)
    at com.android.internal.widget.ActionBarView.onMeasure(ActionBarView.java:1011)
    at android.view.View.measure(View.java:16458)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    at com.android.internal.widget.ActionBarContainer.onMeasure(ActionBarContainer.java:271)
    at android.view.View.measure(View.java:16458)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
    at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:254)
    at android.view.View.measure(View.java:16458)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2289)
    at android.view.View.measure(View.java:16458)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1914)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1111)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1293)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:998)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5582)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
    at android.view.Choreographer.doCallbacks(Choreographer.java:562)
    at android.view.Choreographer.doFrame(Choreographer.java:532)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
    at android.os.Handler.handleCallback(Handler.java:733)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4998)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at …
Run Code Online (Sandbox Code Playgroud)

java android nullpointerexception spinner android-4.4-kitkat

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

Android - 不同构建类型的清单占位符

我对Gradle + Android Build中明显占位符的新可能性大肆宣传.我在gradle文档中发现我可以像这样指定自己的占位符:

productFlavors {
    free {
    }
    pro {
        manifestPlaceholders = [ activityLabel:"proName" ]
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我希望有一个占位符依赖于构建类型而不是产品风格.当我将该占位符规范插入到构建类型设置中时,它不起作用.你知道如何实现这个目标吗?因为在我看来,愚蠢的有三种构建类型和三种与之相关的风格.谢谢

android gradle android-manifest

13
推荐指数
2
解决办法
6023
查看次数

带有 Gradle 7 的 AppDistribution Gradle 插件

我正在使用 Android Gradle 插件版本7.0.0-alpha14和 Gradle 版本7.0,当我尝试通过 Gradle 插件版本将应用程序上传到应用程序分发时,2.1.0它在任务失败app:appDistributionUploadDebug并出现错误

> Task :app:appDistributionUploadDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Some problems were found with the configuration of task ':app:appDistributionUploadDebug' (type 'UploadDistributionTask').
  - Type 'UploadDistributionTask' property 'COMMAND_LINE_PREFIX' is missing an input or output annotation.
    
    Reason: A property without annotation isn't considered during up-to-date checking.
    
    Possible solutions:
      1. Add an input or output annotation.
      2. Mark it as @Internal.
    
    Please refer …
Run Code Online (Sandbox Code Playgroud)

android gradle android-gradle-plugin firebase-app-distribution

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

来自支持库的ScriptIntrinsicBlur对图像的缺陷

我试图使用RenderScript支持库中的ScriptIntrinsicBlur模糊图像.我正在使用gradle,我使用这种方法来使用RenderScript的支持库版本.

在我的Nexus 4上,一切正常并且速度非常快,但是当我在搭载Android 2.3.3的三星Galaxy S上试用它时,我得到的图片看起来像这样:

嘈杂的图像

我正在使用Roman Nurik的提示将位图宽度设置为4的倍数,但我不认为这是我的问题的原因.我的模糊代码看起来与这篇文章完全一样.谢谢你的建议.

这是我的代码:

获取视图的位图并重新缩放位图:

public static Bitmap loadBitmapFromView(View v) {
        v.setDrawingCacheEnabled(false);
        v.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_LOW);
        v.setDrawingCacheEnabled(true);
        Bitmap b = v.getDrawingCache();
        return b;
    }

public static Bitmap scaledBitmap(Bitmap dest, float scale) {
        int scaledWidth = (int) (scale * dest.getWidth());
        if (scaledWidth % 4 != 0) { //workaround for bug explained here https://plus.google.com/+RomanNurik/posts/TLkVQC3M6jW
            scaledWidth = (scaledWidth / 4) * 4;
        }
        return Bitmap.createScaledBitmap(dest, scaledWidth, (int) (scale * dest.getHeight()), true);
    }
Run Code Online (Sandbox Code Playgroud)

Renderscript代码:

Bitmap bitmap = sentBitmap.copy(sentBitmap.getConfig(), true); …
Run Code Online (Sandbox Code Playgroud)

android renderscript android-support-library

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

通过图形api发布评论到社交插件框

有没有办法通过图形API发表评论到社交插件?我正在开发一个Android应用程序,我想通过Facebook实现讨论,但我看不出如何实现这一点.我看到了一些关于它的其他问题,但我想询问"官方"Facebook堆栈溢出

android facebook facebook-graph-api facebook-social-plugins

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

Android CameraX - 动态附加 ImageAnalysis.Analyzer

我已经实现了我自己的子类ImageAnalysis.Analyzer并且它按预期工作。现在我想ImageAnalysis动态地“附加/分离”这个分析器到类(基于一些用户操作)。从ImageAnalysisAPI来看好像是可以的,有setAnalyzer方法,也有clearAnalyzer方法。但是,这仅在第一次setAnalyzer调用时才能正常工作。如果我一次clearAnalyzer又一次地调用setAnalyzeranalyze则不会调用方法。

在方法的文档中clearAnalyzer

Removes a previously set analyzer.

This will stop data from streaming to the ImageAnalysis.
Run Code Online (Sandbox Code Playgroud)

所以看起来它的工作可能如预期的那样正确?它将停止数据流向ImageAnalysis. 但是可以按照我想要的方式清除/设置分析仪吗?我不想enabled向我的分析器添加一些布尔标志,存在线程问题、图像队列问题,并且使用 set/clear 的解决方案将是我认为最干净的解决方案。

android android-camerax

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

将触摸事件从一个视图委托给另一个视图

我正在尝试使用触摸视图事件实现我自己的拖放。我想通过长按触发拖动,在 onLongClick 中,我将视图阴影创建为位图,并将该位图设置为 imageview。我想拖动这个图像视图。我的问题是,在长按事件之后,imageview 没有立即响应触摸事件。我必须停止触摸屏幕并再次点击图像视图,然后我的图像正在移动。

一些相关代码:

  mCategoryNews.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                v.setVisibility(View.INVISIBLE);
                ImageView shadow = (ImageView) getView().findViewById(R.id.imgViewShadow);
                shadow.setLayoutParams(new FrameLayout.LayoutParams(v.getWidth(), v.getHeight()));
                shadow.setImageBitmap(Utils.loadBitmapFromView(v));
                shadow.bringToFront();
                ((FrameLayout.LayoutParams) shadow.getLayoutParams()).leftMargin = rowCategories1.getLeft();
                ((FrameLayout.LayoutParams) shadow.getLayoutParams()).topMargin = rowCategories1.getTop();

                return true;
            }

        });

private View.OnTouchListener mDragShadowTouchListener = new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            Log.d(TAG, "onTouch");
            switch (event.getAction()) {

                case MotionEvent.ACTION_MOVE:
                    Log.d(TAG, "action move");
                    int x = (int) event.getRawX();//- rowCategories1.getLeft() - v.getWidth() / 2;
                    int y = (int) event.getRawY();//- rowCategories1.getTop() - …
Run Code Online (Sandbox Code Playgroud)

android drag-and-drop view touch-event

5
推荐指数
2
解决办法
2387
查看次数

Dagger 2 绑定委托与子组件

我在设计我的应用程序的 DI 架构时遇到了一些问题。我正在使用架构组件 ViewModels,我的灵感来自如何通过 Dagger 在他们自己的 GitHub存储库中提供 ViewModels .. 我想创建范围组件/模块,例如产品细节,将提供 ViewModels/Repositories 和其他依赖于该单个产品的东西.. 问题是所有 ViewModel 都是从给定示例中的相同 ViewModelModule 提供的。但是 ProductViewModel 需要从作用域子组件 ProductModule 提供的 ProductRepository。显然这是不可能的,因为 Dagger 在构建时抛出错误,我需要为 ProductRepository 提供 @Provides 注释。

好的,所以我认为我会在我的 ProductModule 中提供 ProductViewModel 但是它在运行时崩溃了,因为在这个方法中找不到我的 ViewModel 的提供者

是否有可能拥有这种架构,或者我是否需要重新设计它以在他们的示例中不使用与谷歌相同的方法?

android dependency-injection mvvm dagger-2

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

使用 gradle 模块作为具有特定风格的依赖项

我有一个名为的库模块library,它有两种风格flavor1flavor2. 然后我有两个应用程序模块,让我们调用它们app1app2它们将使用这个库模块,每个模块都会以特定的风格使用它......例如。app1将始终libraryflavor1风味一起使用。我应该如何配置 gradle 依赖项以使其做我想做的事?如果我只是尝试implementation project(':library')app1 build.gradle它显然是行不通的,因为它不知道选择哪个味道..所以我尝试过类似的东西implementation project(path: ':library', configuration: 'flavor1Release'),但不工作过,它打印很像错误

ERROR: Unable to resolve dependency for ':app1@debug/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1

ERROR: Unable to resolve dependency for ':app1@debugAndroidTest/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1

ERROR: Unable to resolve dependency for ':app1@debugUnitTest/compileClasspath': Could not resolve project :library.
Show Details …
Run Code Online (Sandbox Code Playgroud)

android module gradle android-gradle-plugin

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

基于地理定位的增强现实

我的任务是开发应该由游客使用的Android应用程序.基本用例:我正在经历一些城镇的旧部分,然后我开始我的应用程序,用相机指向某个地方,一些已经消失的旧建筑将像以前一样出现在它的位置.

我探索的第一个方向是基于位置的识别,我尝试了一些像Wikitude,MetaIO和DroidAR这样的框架.这些都不是100%满足我的需求,因为(在我看来),没有人使用(因为它的健壮性)最新的工具,应该使这项任务更容易,如新的Google Play服务位置API.我不知道我能不能做得更好,但我宁愿不写自己的解决方案.

我现在正在考虑探索基于标记的识别,但是需要额外的工作来将一些标记放置到期望的位置,并且我不相信用户将与该标记成直角和距离.我看过一些使用某种边缘检测的视频,但我使用的框架都没有这个功能.

您是否了解我可以探索的一些方向,技术或想法,并可能导致成功的解决方案?

android geolocation augmented-reality

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