Articles of input

如何使用InputConnectionWrapper?

我有一个EditText 。 现在我想让用户对这个EditText所做的所有更改,并在手动插入EditText之前使用它们。 我不希望用户直接更改EditText的文本。 这应该只能通过我的代码(例如通过使用replace()或setText() )来完成。 我search了一下,发现了一个名为InputConnectionWrapper的有趣的类。 根据javadoc,它将作为给定InputConnection的代理。 所以我就这样分类: private class EditTextInputConnection extends InputConnectionWrapper { public EditTextInputConnection(InputConnection target, boolean mutable) { super(target, mutable); } @Override public boolean commitText(CharSequence text, int newCursorPosition) { // some code which takes the input and manipulates it and calls editText.getText().replace() afterwards return true; } } 要初始化包装器,我在我的EditText -subclass中覆盖了以下方法: public InputConnection onCreateInputConnection(EditorInfo […]

input在html中的maxlength属性在HTC One M7上不起作用

我有一个简单的input字段,它有一个maxlength =“2”属性。 代码如下所示: <input id="txtLoginName" maxlength="2"> 它在大多数Android设备上工作正常。 但是,在HTC One M7,它不起作用。 在这个设备上,它只允许我input尽可能多的字符。 任何build议? 我认为这应该是一个设备的具体问题。 提前致谢。

Android InputStream丢弃前两个字节(已修改的BluetoothChat)

我已经使用BluetoothChat示例中的代码来发送和接收来自Bluetooth Scale的字节数据。 秤从设备接收命令,然后发回一个字节数组。 {2,198,48,48,48,48,199,3}在我们的通信协议中,2 = STX,198 =分组开始,199 =分组结束,3 = ETX。 所有的工作都很好,除了下面的代码在BluetoothChatService.java奇怪的反应,它会丢弃前两个字节。 /** * This thread runs during a connection with a remote device. * It handles all incoming and outgoing transmissions. */ private class ConnectedThread extends Thread { private final BluetoothSocket mmSocket; private final InputStream mmInStream; private final OutputStream mmOutStream; public ConnectedThread(BluetoothSocket socket, String socketType) […]

使用OK / DONEbutton在Android上以编程方式显示键盘

我正试图在自定义手动编码的文本字段上显示软键盘。 我使用下面的代码,并在右下angular得到带有返回字符的标准键盘。 inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); 我想显示在右下angular有OK(或可能是DONE)的键盘。 当我做了一些研究,我发现inputType可以设置EditText(我不使用在这种情况下),但不是我使用的视图(GLSurfaceView)。 任何想法如何我可以得到另一个键盘显示? 编辑我试着在这里发布的解决scheme: – 多行EditText 2.3完成SoftInput行动标签,但不幸的是它没有显示完成button(我在Android 2.1上)。 我试着改变inputType字段,并且改变了types(我尝试“电话”),但不是完成button。 谢谢你的帮助。

如何在Android上解锁InputStream.read()?

我有一个线程在一个循环中调用InputStream的read()方法。 当没有更多字节要读取时,数据stream将被阻塞,直到新的数据到达。 如果我从另一个线程的InputStream调用close() ,则stream被closures,但被阻塞的read()调用仍然被阻塞。 我会假设read()方法现在应该返回值为-1来表示stream的结束,但它不。 相反,它会持续阻塞数分钟,直到发生tcp超时。 如何取消阻止close()调用? 编辑: 显然,当阻塞read()调用对应的stream或套接字是close() 'd时,常规JRE将立即抛出SocketException 。 我正在使用的Android Java运行时不会。 对于Android环境的解决scheme的任何提示将不胜感激。

Android多点触控:ACTION_UP并不总是被调用?

我开发了一个在视图中处理多点触控的Android应用程序。 我基本上跟踪像ACTION_UP,ACTION_MOVE,…可能发生的几个MotionEvents我的覆盖onTouch方法在View类看起来像这样: public boolean onTouch(View view, MotionEvent event) { int action = event.getAction() & MotionEvent.ACTION_MASK; if (action == MotionEvent.ACTION_DOWN) { float x = event.getX(); handleTouchStart(view, x); } else if (action == MotionEvent.ACTION_UP) { float x = event.getX(); handleTouchEnded(view, x); } else if (action == MotionEvent.ACTION_POINTER_DOWN) { int pointer = (event.getAction() & MotionEvent.ACTION_POINTER_ID_MASK) >> MotionEvent.ACTION_POINTER_ID_SHIFT; float […]

在Ionic / Cordova应用程序上只显示数字键盘

我的Ionic / Cordova应用程序有两个问题,都是数字键盘,我没有select显示它。 1)需要显示数字键盘的密码input。 它显示一个字母数字键盘。 如果我更改为数字,我不能隐藏条目(带*)。 2)我必须插入货币掩码的数字input(从左到右)。 我find的所有选项都在文本input中运行。 有人帮我? 请!

在Android中听取ENTER键

这是我的代码: public class CaptureENTER extends Activity implements OnKeyListener{ /* on create and other stuff in here*/ @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { Toast.makeText(LiVoiceActivity.this, "YOU CLICKED ENTER KEY", Toast.LENGTH_LONG).show(); } return false; } 我不知道发生了什么,但是当我按下我的键盘上的ENTER键(我正在使用Android模拟器)时, 事件不会被激活 。 我错过了什么?

RemoteInput上的AllowedDataTypes是什么?

在API 26的RemoteInput.Builder中有一个叫做setAllowDataType的新函数。这是用来做什么的? 我尝试了以下内容: val remoteInput = RemoteInput.Builder(KEY_TEXT_REPLY) .setLabel("Image") .setAllowFreeFormInput(false) .setChoices(null) .setAllowDataType("image/*", true) .setAllowDataType("image/png", true) .setAllowDataType("image/jpg", true) .setAllowDataType("image/gif", true) .build() 在RemoteInput上应该将isDataOnly设置为true ,但通知在电话上显示为以下内容。 点击Imagebutton什么也不做。 这个是来做什么的? 我找不到任何有关此function的文档,发行说明或教程。 更新 它看起来像只有数据types从实际发布时通知中缺less。 查看构build器代码,在向通知添加Actions时,会使用级别24来完全去除数据types: https : //android.googlesource.com/platform/frameworks/support/+/oreo-release/compat/api26 /android/support/v4/app/NotificationCompatApi26.java#108 原来的问题依然存在。

如何在Canvas上获得文本input?

我在Android的世界是新的,我有一个非常恼人的问题。 在我的程序中,我使用Androidcanvas。 我想添加一个EditText元素或类似的东西,以获得用户文本input。 你能帮我find解决这个问题的办法吗? 感谢您的答案。