小编Cly*_*yde的帖子

EditText的自定义剪切/复制操作栏,显示文本选择控制柄

我有一个应用程序,我希望能够显示一个TextView(或EditText),允许用户选择一些文本,然后按一个按钮,用该文本完成一些事情.在Honeycomb之前的Android版本上实现此功能是没有问题的,但在Honeycomb及以上默认的长按操作是显示带有复制/剪切/粘贴选项的操作栏.我可以拦截长按以显示我自己的操作栏,但后来我没有显示文本选择句柄.

一旦我开始自己的ActionMode,我如何显示文本选择句柄?

这是我用来启动ActionMode的代码,除了没有显示文本选择句柄外,它可以正常工作:

public boolean onLongClick(View v) {
    if(actionMode == null)
        actionMode = startActionMode(new QuoteCallback());
    return true;
}

class QuoteCallback implements ActionMode.Callback {

    public boolean onCreateActionMode(ActionMode mode, Menu menu) {
        MenuInflater inflater = mode.getMenuInflater();
        inflater.inflate(R.menu.quote, menu);
        return true;
    }

    public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
        return false;
    }

    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
        switch(item.getItemId()) {

        case R.id.quote:
            Log.d(TAG, "Selected menu");
            mode.finish();
            // here is where I would grab the selected text
            return true;
        }
        return false;
    } …
Run Code Online (Sandbox Code Playgroud)

android textview android-edittext contextual-action-bar

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

JellyBean上的NavUtils.shouldUpRecreateTask失败

我有一个应用程序,它会在选择启动活动时发出通知.根据Android文档,我可以使用NavUtils.shouldUpRecreateTask来检查活动是否已直接启动(即来自通知)或通过正常活动堆栈启动.但它给出了错误的答案.我正在JellyBean上测试它,但使用支持库.

基本上,即使从通知中启动了活动,shouldUpRecreateTask也总是返回false.

关于为什么uppRecreateTask未能给出正确答案的任何想法?

android android-intent android-notifications android-activity

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

dexing 时如何查找错误原因:MethodHandle.invoke 和 MethodHandle.invokeExact

我有一个在 Android Studio 或 Gradle 中构建时开始抛出此错误的项目:

com.android.tools.r8.ApiLevelException: MethodHandle.invoke and MethodHandle.invokeExact are only supported starting with Android O (--min-api 26)
Run Code Online (Sandbox Code Playgroud)

现在我假设它与 Java 8 特性的使用有关,可能是一个 lambda,但错误消息没有给出问题所在的线索——它可能是我的代码,也可能是一个库。

找出违规代码在哪里的最佳方法是什么?这是一个相当大的应用程序,包含多个模块和相当多的库。

lambda android dex java-8

10
推荐指数
2
解决办法
8876
查看次数

Webview导致ANR

我编写了一个应用程序,它在Webview中显示html页面,这些页面在ViewPager中管理.一切正常,但是当我从一个页面滑动到另一个页面时,我有一些ANR.ANR数据转储显示主线程已通过ThreadedRenderer.nSyncAndDrawFrame()调用,该方法调用本机方法,该方法显然与呈现器线程通信,并等待该线程完成绘制视图.由于这两个都在执行本机代码,因此很难弄清楚正在发生什么,但看起来Renderer线程从未表示主线程要恢复,因此导致ANR.在ANR报告之前,logcat中没有任何内容表明存在任何问题.

有没有人有关于如何排除故障的建议?我假设对ThreadedRenderer.nSyncAndDrawFrame()的调用与Webview相关联,但我实际上没有任何东西可以确认.

问题是不可重复的,因为如果我重新启动应用程序并导航到ANR发生时显示的同一页面,则不会再次发生.设备是运行Android 5.1的Nexus 7.

主渲染器线程和渲染器线程的ANR堆栈跟踪:

"main" prio=5 tid=1 Native
| group="main" sCount=1 dsCount=0 obj=0x73547000 self=0xb4827800
| sysTid=1248 nice=-6 cgrp=default sched=0/0 handle=0xb6fd6bec
| state=S schedstat=( 0 0 0 ) utm=6035 stm=1406 core=0 HZ=100
| stack=0xbe5a6000-0xbe5a8000 stackSize=8MB
| held mutexes=
kernel: (couldn't read /proc/self/task/1248/stack)
native: #00 pc 000133b8 /system/lib/libc.so (syscall+28)
native: #01 pc 00016a81 /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_t*, pthread_mutex_t*, timespec const*)+56)
native: #02 pc 0003c73b /system/lib/libhwui.so (???)
native: #03 pc 0003c771 /system/lib/libhwui.so (???)
native: #04 pc 0083fd83 /data/dalvik-cache/arm/system@framework@boot.oat (Java_android_view_ThreadedRenderer_nSyncAndDrawFrame__JJJF+134)
at android.view.ThreadedRenderer.nSyncAndDrawFrame(Native method)
at …
Run Code Online (Sandbox Code Playgroud)

android android-webview android-anr-dialog

9
推荐指数
2
解决办法
4997
查看次数

从 Firebase Crashlytics 控制台导出数据?

我正在试用 Firebase Crashlytics 并且日志数据的控制台显示混乱(见下图)。有没有办法导出完整的崩溃报告?我在 Firebase 控制台中看不到一个 - 我从未使用过原始的 Crashlytics,但我看到它有一个导出工具。

在此处输入图片说明

firebase crashlytics firebase-console

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

如果url包含空格,毕加索不工作

我正在开发一个Android应用程序,我在其中从服务器检索图像并使用Picasso在图像视图中显示它.即使我可以在浏览器中成功测试它们,某些图像URL也不起作用.

例如,此URL可正常工作:

http://www.tonightfootballreport.com/\Filebucket\Picture\image\png\20160730011032_BPL.png
Run Code Online (Sandbox Code Playgroud)

但是这个失败了:

http://www.tonightfootballreport.com/\Filebucket\Picture\image\png\20160807025619_Serie A.png
Run Code Online (Sandbox Code Playgroud)

差异似乎是失败的URL包含空格.我需要做些什么来完成这项工作?

url android picasso

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

Unity Android 游戏:游戏过程中屏幕关闭

我以前在游戏中使用按钮进行移动。现在我想使用加速度计进行移动。游戏玩法很棒,但游戏过程中屏幕会关闭。我用过

Screen.sleepTimeout = SleepTimeout.NeverSleep;
Run Code Online (Sandbox Code Playgroud)

但它不起作用。我该如何解决这个问题?

android unity-game-engine

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

将Completable转换为Single的规范方法?

我有一个Completable要执行的RxJava ,然后链接到Single<Long>。我可以这样写:

return Completable.complete().toSingleDefault(0L).flatMap { Single.just(1L) }
Run Code Online (Sandbox Code Playgroud)

但这似乎不必要地复杂。我本以为Completable#toSingle()会做的,但是如果我写:

Completable.complete().toSingle { Single.just(1L) }
Run Code Online (Sandbox Code Playgroud)

我遇到错误。是否缺少功能Completable或我正在忽略某些东西?

kotlin rx-java

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