小编Mar*_*los的帖子

将EditText聚焦在Device上运行的PopupWindow时出现异常

我正在为Android开发一个PopUp窗口,它正在工作,我在其上添加了一个EditText和一个Button,当在ADV上运行时,这个工作正常,当在设备上运行时,当我专注于EditText时,这会引发一个奇怪的异常.

android.view.WindowManager$BadTokenException: Unable to add window - - token android.view.ViewRoot&48163b18 is not valid; is your active running?
Run Code Online (Sandbox Code Playgroud)

我不知道它是否重要,但我正在运行带有Swype输入的Galaxy Tab.

现在我读了Window.showAtLocation的规范

public void showAtLocation (View parent, int gravity, int x, int y)

Display the content view in a popup window at the specified location. If the popup window cannot fit on screen, it will be clipped. [...]

Parameters
parent  a parent view to get the getWindowToken() token from
[...]
Run Code Online (Sandbox Code Playgroud)

问题只在于该令牌,但我如何将Activity令牌传递给它?

我还写了一个小代码来重现错误.

PopupWindow window = new PopupWindow(activity);
window.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
window.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);

window.setTouchable(true);
window.setFocusable(true);

EditText …
Run Code Online (Sandbox Code Playgroud)

java android android-edittext

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

在JNI方法上返回一个String数组

我需要从C++获取一个字符串列表(char*)并将其返回给Java.

我怎样才能做到这一点?

我认为一个解决方案是返回一个预定义的大字符串,如:"[item1] [item2]"并在Java上进行拆分,但它看起来不像正确的方法.

arrays java-native-interface android android-ndk

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

调整视频大小以适应VideoView

我正在使用AbsoluteLayout定位VideoView(我需要在特定位置的屏幕上的几个位置显示它).

public void showVideo(RectF bounds, final String videoUrl) {
    AbsoluteLayout.LayoutParams params = (AbsoluteLayout.LayoutParams) video.getLayoutParams();
    params.width = (int) bounds.width();
    params.height = (int) bounds.height();
    params.x = (int) bounds.left;
    params.y = (int) bounds.top;

    video.requestLayout();

    video.setVisibility(View.VISIBLE);
    video.setFocusable(true);
    video.setFocusableInTouchMode(true);
    video.requestFocus();

    File file = new File(videoUrl);
    video.setVideoPath(file.getAbsolutePath());
    video.start();
}
Run Code Online (Sandbox Code Playgroud)

但视频没有调整到我指定的范围.

有小费吗?

另一个相关的问题是,如何通过VideoView使MediaController显示?

android android-video-player

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

使用Android APK 2.2打开硬件加速(如果可用)(例如Android 3+)

我开发了一个Android 3.0应用程序,它运行得很好,但客户端坚持与2.2设备的兼容性.

禁用硬件加速,使用Android兼容包,NIO-backport支持(对于任务和执行程序)和一些View方法的重新实现我能够移植我的Android 2.2应用程序并且工作得非常好,但是如果我将这个apk运行到更新的设备的性能非常慢,所以我想知道如何启用硬件加速,但仍然使用我的2.2 APK.

android android-manifest apk android-hardware android-compatibility

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

适用于Android的PDF库 - PDFBox?

存在用于在Android上绘制PDF文件的库吗?

我找到了PDFBox,这是一个JSE库,想知道它是否可以用来在Android上绘制PDF.

我知道Android将标准字节码转换为Dalvik Bytecodes,但它如何将类似BufferedImage的类转换为框架可以将PDF文件转换为?

即使对于付费图书馆,任何建议都是有帮助的.

pdf android renderer pdfbox pdfrenderer

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

无法找到头文件 - Android NDK

我正在通过NDK将原生API包装到Android.

但是在构建它时没有找到头文件.

我有以下结构.

项目/ JNI

Android.mk

LOCAL_PATH := $(call my-dir)

include $(call all-subdir-makefiles)

LOCAL_PATH :=/home/marcos/dev/workspace/rmsdk.native.wraper/jni

include $(CLEAR_VARS)

LOCAL_LDLIBS := -llog
LOCAL_MODULE    := ndk1
LOCAL_SRC_FILES := native.c DelegateDRMProcessorClient.cpp
LOCAL_STATIC_LIBRARY := adept cryptopenssl dp expat fonts hobbes jpeg mschema png t3 xml zlib

include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

项目/ JNI/prereqs /

Android.mk(用于调用所有子目录Android.mk文件)

LOCAL_PATH := $(call my-dir)
include $(call all-subdir-makefiles)
include $(CLEAR_VARS)
Run Code Online (Sandbox Code Playgroud)

项目/ JNI/prereqs /%LIB%/

Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    :=dp
LOCAL_SRC_FILES :=libdp.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include

include $(PREBUILT_STATIC_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

每个%lib%文件夹上都有一个include文件夹.

当使用ndk-build时,我得到一个"/home/marcos/dev/workspace/rmsdk.native.wraper/jni/DelegateDRMProcessorClient.h:18:20:错误:dp_all.h:没有这样的文件或目录"

任何人都知道如何包含这些头可供编译器使用?

android android-ndk

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

RelativeLayout - CenterInParent和marginTop

我有以下XML:

<RelativeLayout android:id="@+id/cover_box"
    android:layout_width="wrap_content" android:layout_height="wrap_content">
    <ImageView android:id="@+id/cover"
        android:layout_width="wrap_content" android:layout_height="wrap_content" />
    <ImageView android:id="@+id/download" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:src="@drawable/mark_download"
        android:layout_centerInParent="true" android:layout_marginTop="90px" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

但它看起来就像marginTop被忽略了.

android android-layout android-view

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

手势探测器不工作

我有以下GestureListener:

public class BookListener extends SimpleOnGestureListener implements
        OnTouchListener {
    private LibraryActivity main;
private Book book;
private GestureDetector gesture;

public BookListener(Book book, LibraryActivity main) {
    this.main = main;
    this.book = book;
    gesture = new GestureDetector(main,this);
}

public boolean onDoubleTap(MotionEvent e) {
    main.showInfo(book);
    return true;
}

public boolean onSingleTapConfirmed(MotionEvent e) {
    main.openBook(book.getUrl());
    return true;
}

public boolean onDown(MotionEvent evt){
    return false;
}

@Override
public boolean onTouch(View v, MotionEvent event) {
    return gesture.onTouchEvent(event);
    }
}
Run Code Online (Sandbox Code Playgroud)

我通过这种方式将它添加到我的视图中:

view.setOnTouchListener(new BookListener(book, main));
Run Code Online (Sandbox Code Playgroud)

但是在运行时,事件不会被触发,我调试它,我看到onDown被调用,但onSingleTapConfirmed或onDoubleTap nevers工作.

怎么了?

我的代码完美无缺: …

android listener gesture

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

在LongPress之后移动事件

在我的GestureDetector中使用LongPress后,如何收听移动事件?

当用户LongClick他启动选择模式时,可以将一个方块拖入屏幕.但我注意到在使用LongPress后没有调用onScroll.

android listener gesturedetector

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

onCreateOptionsMenu何时在启用ActionBar的活动中发生?

我知道菜单项将被设置为ActionBar中的动作图标.

我想知道这个onCreateOptionsMenu函数,它什么时候在活动生命周期中调用.

从我的测试来看,它甚至没有在onResume之后

android android-menu android-activity android-actionbar

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