Articles of 事件

Android:单击和长按/双击两种不同的活动?

我正在尝试开发一个function,其中单击一个项目将调用Intent转到另一个Activity,长按或双击该项目会执行其他操作,例如允许您编辑文本。 到目前为止,我只能在同一时间发生这两种情况,但不能单独发生。 有没有人有任何想法? public boolean onTouchEvent(MotionEvent e) { return gestureScanner.onTouchEvent(e); } public boolean onSingleTapConfirmed(MotionEvent e) { Intent i = new Intent(getContext(), SecondClass.class); getContext().startActivity(i); return true; } public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { return false; } public void onLongPress(MotionEvent e) { Toast.makeText(getContext(), “Edit feature here”, Toast.LENGTH_SHORT).show(); }

Android自定义视图到活动通信

我有一个自定义控件/视图,可以在其范围内观察手势的方向。 我想根据手势的方向向托管视图的活动发回不同的消息。 我很难确定正确的做法是什么。 我认为我可以在控件中引发一个自定义事件,然后在活动中的控件上添加一个监听器,但我找不到Android中自定义事件的任何信息。 任何帮助,将不胜感激。 谢谢。

检测可穿戴设备连接/断开Android手机的时间

当Pebble连接/断开时,Pebble手表具有全局发送的Intent。 这允许手机应用程序知道手表是否已连接。 我搜索过,但我无法find有关Android Wear的类似function的信息。 怎么知道可穿戴设备是否连接到手机? 有可能收到像Pebble这样的活动吗? 谢谢

otto eventbus for android在发布版本中表现不同

我有一个单件服务类,它按照设定的时间表从服务器中提取数据。 一旦客户端收到数据,我就会触发bus.post(new NewServerResponseEvent()); ( http://square.github.io/otto/ ) 然后在我的片段中我这样做: @Override public void onResume() { super.onResume(); eventBus.register(this); } @Override public void onPause() { super.onPause(); eventBus.unregister(this); } @Subscribe public void handleNewServerData(NewServerResponseEvent e) { refreshView(); } 只要我在我的测试设备上进行开发时,一切都运行得非常顺利。 一旦我构建了一个发布版本并将其放入Play商店,就永远不会调用handleNewServerData()函数。 我无法理解这一点。 将整个事物作为发布版本运行会有什么不同? 是否有可能在另一个线程中发生的事情无法发布给我的订阅者? 有人能指出我正确的方向吗? 提前致谢

如何更新SeekBar而不是触发OnSeekBarChangeListener?

我有一个附带OnSeekBarChangeListener实例的SeekBar。 每次用户更改该值时,都会触发onProgressChanged()方法。 没关系。 但后来我试图像这样更新SeekBar的进度: seekBar.setProgress(value); 我希望不会发生任何事件 – 只是SeekBar的进展会发生变化。 但是onProgressChanged()在这种情况下也会被调用。 如何在不触发事件的情况下更改SeekBar的进度?

必须单击两次才能调用edittext android的onclick方法

我的android活动中有这个editText 正如您在用户点击时看到的那样 我调用这个方法来启动datePickerDialog: public void update_expiration_date(View v){ Log.i(“”,”cliqué”); picker.show(); can_update_expiration_date = true; } 我遇到的问题是:在我第一次打开此活动时,用户必须单击两次才能启动对话框 但在那之后,只需点击一下即可 我该如何解决这个问题

适用于Android的EventBus框架

任何人都可以推荐一个好的框架来处理Android中的事件吗? 这些将是UserUpdatedEvent之类的业务逻辑事件。 我正在寻找类似于GWT-EVENT提供的EventBus的东西,但是对于支持弱引用的JVM。

如何获得未接来电和短信计数

我想在我的应用程序中获取未接来电和未读消息的计数。 当用户点击计数时,我想打开相关的应用程序。 现在最大的问题是如何计算? 我在网上搜索但找不到任何解决方案。 提前致谢。

为什么我的按钮在第一次点击时不起作用?

我第一次使用时没有生成点击事件的按钮有问题,但是如果我点击屏幕而不是按钮然后点击它。 它直接工作! 在我的片段onCreateView中,我有: viewAnimator = (ViewAnimator) inflater.inflate(R.layout.fragment_login_supplier, container, false); initView(viewAnimator); 在initView中: private void initView(ViewAnimator ll) { …… errorButton = (Button) errorLayout.findViewById(R.id.buttonError); errorButton.setBackgroundResource(btnErrorSelector); errorButton.setOnClickListener(FragmentLoginSupplier.this); ….. } 我的片段实现了OnClickListener但是我的:@Override public void onClick(View vue){}第一次没有收到任何内容…… 按钮id:buttonError 在这里布局的开头:

通过windowmanger注入运动事件?

我想模拟触摸事件。 我正在使用此代码 MotionEvent.PointerCoords[] coords = { new MotionEvent.PointerCoords() }; coords[0].x = 200; coords[0].y = 200; int[] ptrs = { 0 }; MotionEvent event =MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), action, 1, ptrs, coords, 0, 1, 1, 0, 0, InputDevice.SOURCE_TOUCHPAD, 0); windowManager.injectPointerEvent(event, false); 问题出在这条线上 windowManager.injectPointerEvent(event, false); 我无法访问WindowManger。 当我尝试使用它 WindowManager windowmanager=(WindowManager) Context.getSystemService(Context.WINDOW_SERVICE); 我收到了一条错误消息。 “无法从typesContext中对非静态方法getSystemService(String)进行静态引用” 谁能帮我 !!