Articles of onkeydown

假冒KeyEvent不能正常工作*就像“真实”按钮一样。 为什么?

我试图用KEYCODE_BACK调用我的主要活动的onKeyDown(),这样它就像我自己按下“后退”按钮一样。 我使用以下代码执行此操作: KeyEvent goBackDown = new KeyEvent(0,0,KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_BACK,0,0); goBackDown.dispatch(activity); SystemClock.sleep(50); // as if human pressed the key KeyEvent goBackUp = new KeyEvent(0,0,KeyEvent.ACTION_UP,KeyEvent.KEYCODE_BACK,0,0); goBackUp.dispatch(activity); 我的活动的onKeyDown()目前只调用: return super.onKeyDown(keyCode, event); 然而,与真正的 Back按钮不同,当调用“假”代码时,活动拒绝变得不可见。 为什么?

按下后退按钮时,对话框显示两次

在代码中,当我按下后退按钮时,对话框会显示两次。 任何人都可以告诉我如何只对话一次? public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK)) { onBackPressed(); } return super.onKeyDown(keyCode, event); } public void onBackPressed() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(“Do you want to save configuration?”); builder.setPositiveButton (“Yes”, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { //here saveConfiguration is boolean type if (saveConfiguration()) { […]

从活动类调用webview中的javascript函数

编辑:这个剪辑最终工作。 我以前一直在尝试这个,但实际上我的javascript遇到了一个范围问题。 我在document.onready中定义了appBack()。 只需将该函数重新定义为* window。* appBack = function()。 完成业务。 希望这有助于某人。 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { WebView.loadUrl(“javascript:appBack()”); return true; } return super.onKeyDown(keyCode, event); } 在webview应用程序中,后退导航是使用自定义JS函数appBack()处理的。我一直试图find一种方法来拦截android物理后退按钮并调用该javascript函数。 这是我的活动文件。 它非常基本,设置webview并监听后退按钮点击。 目前,当用户单击此物理后退按钮时,它将运行mWebView.goBack()。 这是我想要执行javascript的地方:appBack() package com.stgeorgeplc.app; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.webkit.WebView; public class StGeorgePLCliteActivity extends Activity { /** Called when the […]

如何检测是否按下了向上按钮

在我的活动中,操作栏仅显示左箭头和活动的标题。 当我按向左箭头时,活动将返回到上一个活动,但在onKeyUp,OnkeyDown和OnBackPressed方法中没有注册任何事件。 但是当我按下手机上的Back键(在底部)时,活动将返回到前一个,并且onKeyUp,OnKeyDown和OnBackPressed上的所有方法都会注册一个事件(在logcat中)。 如何捕获左箭头(我认为它被称为UP按钮)? 我需要捕获密钥的原因是在onPause方法中知道活动是由用户而不是系统销毁的(例如,如果用户切换到另一个活动)。 通过进一步研究他的问题我发现UP按钮给出了一个由onOptionsItemSelected方法捕获的事件,因为菜单上没有其他按钮,我知道它就是这个按钮。

软键盘没有EditText和检测键按下

如何使用硬键盘或软键盘可靠地检测按键? 我的应用程序通过wifi远程控制另一台设备,我需要检测软键盘或硬键盘上的每次按键。 我真的不需要EditText,因为我只需要在按下它们时一次发送一个字符,而不需要最终的文本字符串。 我曾尝试在OnKeyPress上使用EditText,但遇到了问题,没有用软键盘按键。 而TextWatcher不是一个好选择,因为我需要每次按键。 如果必须,我将使用EditText,但不愿意。 我真正想要的是: 当用户点击“搜索”按钮时,打开软键盘 用户按键,我将代码发送到远程设备。 不需要在EditText屏幕上看到任何内容,因为它将显示在远程设备上 用户按下软键盘上的自定义完成按钮将其关闭 有什么建议么?

最大限度地减少按键后的活动

OnBack Key press我想最小化应用程序, 我该怎么做? public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { //Here i want to put minimize code.. pls give me this statement return true; } return super.onKeyDown(keyCode, event); } 谢谢

onKeyDown()问题

我想创建一个照片/video捕获应用程序。 我创建了一个CaptureView类,它扩展了SurfaceView并将其放在主窗体中。 主窗体的活动有onCreateOptionsMenu()方法,它创建一个菜单。 菜单运行正常,但后来我尝试在onKeyDown上实现一个方法: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(event.getAction() == KeyEvent.ACTION_DOWN) { switch(keyCode) { case KeyEvent.KEYCODE_CAMERA: videoPreview.TakePicture(); return true; } } return super.onKeyDown(keyCode, event); } 该菜单不再出现,并且该方法不会捕获onKeyDown事件。 有谁知道这个问题可能是什么原因?

AutoCompleteTextView检测用户编辑的列表中的选定条目

我有一个AutoCompleteTextView我用来从长列表中选择一个项目。 用户应该只能从列表中选择预定的项目。 他们不应该进入自己的项目。 我检查以确保他们只从列表中提交项目的方法是使用setOnItemClickListener来触发布尔标志。 问题是在布尔标志设置为true后,他们仍然可以编辑项目的选定文本。 我需要检测到这一点并再次将布尔标志设置为false。 我该怎么做呢。 我已经看到了使用onKeyDown的建议,但我不知道如何实现它。

当按下菜单键时,不会触发升级到AppCompat v22.1.0以及现在的onKeyDown和onKeyUp

我刚刚升级了我的应用程序以使用新发布的v22.1.0 AppCompat,现在onKeyDown和按下菜单键时不会触发onKeyUp 。 其他键正确触发onKeyDown和onKeyUp ,但是当我按下菜单键时没有任何反应。 如果我降级到v22.0.0,一切都恢复正常。 我如何解决它?

onKeyListener无法使用软键盘(Android)

我正在使用onKeyListener来获取onKey事件。 它可以正常使用普通键盘。 但它不适用于软键盘。 我只能获得数字而不是字母的关键事件。 有没有解决方法可以解决这个问题? 任何forms的帮助将不胜感激。