小编Ste*_*nca的帖子

GestureDetector.onTouchEvent中的NullPointerException

我在onTouch中使用GestureDetector进行了一项活动.在我的布局中,我还有一个实现onClickListener的视图.在Android ICS上,我在处理TouchEvent时遇到NullPointerException.这个错误的原因是什么?我看过几篇帖子说onClick和onTouch不能很好地结合在一起,但是当看到这个错误时,没有真正的原因解释或问题的真正解决方案.

这是代码:

public class FlipCardActivity extends Activity implements
    View.OnClickListener, View.OnTouchListener {

    protected GestureDetector gestureDetector;

    protected class TouchSwipeListener extends GestureDetector.
        SimpleOnGestureListener {       
        @Override
        public boolean onDown(MotionEvent e) {
            return false;
        }

        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
            float velocityY) {
            // Calculate dx, gradient, velocity, etc
            // Check for and discard unacceptable swipes
            if (Math.abs(gradient) > SWIPE_MAX_GRADIENT || Math.abs(distance) < 
                SWIPE_MIN_DISTANCE || Math.abs(velocity) < SWIPE_MIN_VELOCITY)
                return false;

            // Determine whether it's a left or a right swipe …
Run Code Online (Sandbox Code Playgroud)

android gesturedetector

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

如何以编程方式检查我的活动菜单是否在特定时刻显示?

Android设备配置更改(例如"将硬键盘滑回")将始终调用PhoneWindow.onConfigurationChanged(),然后调用reopenMenu().这将导致当前正在运行的活动的菜单重新打开,以防它显示.

我在我的onPrepareOptionsMenu()覆盖中实现了对我的菜单的锁定.用户每次想要查看菜单时都必须输入代码.我不希望再次要求用户输入代码,而菜单仍然因为配置更改而仍然处于运行状态.因此,我想知道,有什么方法可以检查当前前景活动的菜单是否已经显示?知道这一点,如果菜单已经启动,我可以绕过询问访问代码.

我的自定义解决方法的实现是用我自己的标志menuShowing,这是我设置onPrepareOptionsMenu和重置onOptionsItemSelectedonKeyDown如果单击后退按钮.

EDIT:屏幕方向配置更改似乎不会触发此行为.然而,硬键盘滑动确实如此.

android menu

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

如何从Drawable获取URI

我正在开发一个Android应用程序,在那里我提供一些内置图像,并让用户可以选择从Web下载更多内容以在应用程序中使用.在我的应用程序的某个时刻,我在我的布局中查看ImageView,并想确定Drawable内部是内置资源还是我从Web下载到SD卡的图像.

有没有办法提取ImageView中使用的Drawable的URI?这样我就可以看到它是资源还是下载文件.

到目前为止,这是我的代码:

ImageView view = (ImageView) layout.findViewById(R.id.content_img);
Drawable image = view.getDrawable();
Run Code Online (Sandbox Code Playgroud)

更新:使用Barry Fruitman的建议,我将图像的URI直接存储在我的自定义ImageView中供以后使用.以下是我的实现:

public class MemoryImageView extends ImageView {
private String storedUri = null;

public MemoryImageView(Context context, String Uri) {
    super(context);
}

public MemoryImageView(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public MemoryImageView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

public String getStoredUri() {
    return storedUri;
}

public void setStoredUri(String storedUri) {
    this.storedUri = storedUri;
}
Run Code Online (Sandbox Code Playgroud)

}

用法如下:

MemoryImageView view = (MemoryImageView) layout.findViewById(R.id.content_img);
String img = …
Run Code Online (Sandbox Code Playgroud)

android drawable

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

标签 统计

android ×3

drawable ×1

gesturedetector ×1

menu ×1