任何人都可以建议我任何与焦点有关的事件EditText吗?我的应用程序包含一个EditText,它接受一个URL.
现在我的问题是,用户将在字段中输入URL并进一步移动,没有任何点击事件,即当焦点将从中移动时EditText,它应检测输入的Url并转到服务器.
如果我使用Json Parsing得到答复,那么它会更方便.
到目前为止,我已经花了大约6个小时的时间,除了路障之外什么都没打.一般的前提是a中有一些行ListView(无论是由适配器生成,还是作为标题视图添加)包含一个EditText小部件和一个Button.我想要做的就是能够使用jogball /箭头,将选择器导航到正常的单个项目,但是当我到达特定行时 - 即使我必须明确地识别行 - 它具有可聚焦孩子,我希望那个孩子采取焦点而不是用选择器指示位置.
我已经尝试了很多可能性,到目前为止还没有运气.
布局:
<ListView
android:id="@android:id/list"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
/>
Run Code Online (Sandbox Code Playgroud)
标题视图:
EditText view = new EditText(this);
listView.addHeaderView(view, null, true);
Run Code Online (Sandbox Code Playgroud)
假设适配器中还有其他项目,使用箭头键将按预期在列表中上/下移动选择; 但是当到达标题行时,它也会与选择器一起显示,并且无法专注于EditText使用jogball.注意:点击它EditText 会将焦点集中在那一点,但是它依赖于触摸屏,这不是必需的.
ListView在这方面显然有两种模式:
1 setItemsCanFocus(true).:从不显示选择器,但EditText使用箭头时可以获得焦点.焦点搜索算法难以预测,并且没有选择哪个项目的视觉反馈(在任何行上:具有可聚焦儿童或不具有可聚焦儿童),这两者都可以给用户带来意想不到的体验.
2 setItemsCanFocus(false).:选择器始终以非触摸模式绘制,并且EditText永远无法获得焦点 - 即使您点击它也是如此.
更糟糕的是,调用editTextView.requestFocus()返回true,但事实上并没有给EditText带来焦点.
我想象的基本上是1和2的混合,而不是列表设置,如果所有项目都是可聚焦的,我想为列表中的单个项目设置可聚焦性,以便选择器从选择无缝转换不可聚焦项目的整行,以及遍历包含可聚焦子项的项目的焦点树.
任何接受者?
我在ListView中有一些EditText字段.当我点击其中一个EditText字段时,键盘会滑入视图(应该如此),但我点击的EditText字段会失去焦点.我已经尝试使用各种InputMethodManager方法使键盘在视图中启动(为了解决问题而不是真正解决它),但这不起作用 - 当Activity出现时键盘不在视图中.
EditText的类型是number,当键盘滑入时,它是一个数字键盘,但当它完成滑动并且EditText失去焦点时,它会变为字母键盘(这强化了EditText不再具有焦点的想法).
我的问题是这些:
1)如何选择我的EditText字段并随后滑入软键盘而不会使我的EditText失去焦点?
......失败了......
2)如何使键盘在视图中开始,以便它不必滑入(从而避免我发现这样令人反感的行为)?
我的清单包括android:windowSoftInputMode="stateAlwaysVisible",但直到我点击EditText键盘才出现.忽略'stateAlwaysVisible'属性似乎只出现在模拟器中 - 在我的配置设备上,它很荣幸,因此上面的问题2可以在设备上工作......但不在模拟器中.
感谢您的任何帮助,您可以提供!
我正在尝试创建一个非常基本的聊天屏幕,其中ListView显示文本,底部是EditText,EditText右侧是"发送"按钮.一切都很实用,但当我点击EditText时,虚拟键盘会覆盖它.屏幕平移一点但不足以在键盘上方可见.我的清单中有"adjustPan"标签,并且还尝试了"adjustResize"标签无效.我猜这与我的布局设置方式有关,但老实说我没有任何线索.请帮忙!
当前布局......
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:id="@+id/android:list"
android:layout_height="0dip"
android:layout_width="fill_parent"
android:layout_weight="1"
android:stackFromBottom="true">
</ListView>
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText android:id="@+id/sendMessageBox"
android:focusable="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:scrollbars="vertical"
android:maxLines="4"
android:text=""
android:inputType="textShortMessage|textAutoCorrect|textCapSentences|textMultiLine"
android:maxLength="1000"
android:hint="Type your message..."
android:imeOptions="actionSend"/>
<Button android:id="@+id/sendMessageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="Send"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
android android-manifest android-layout android-softkeyboard