onKey listner在emulator上正常工作,但在android设备上不工作
我正在从事一个android项目,在该项目中,我需要根据编辑文本视图上的更改更改表布局。代码在仿真器上正常工作。但它在实际的设备上不起作用。在本例中,我也使用片段。我的onKey监听器如下所示onKey listner在emulator上正常工作,但在android设备上不工作,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,我正在从事一个android项目,在该项目中,我需要根据编辑文本视图上的更改更改表布局。代码在仿真器上正常工作。但它在实际的设备上不起作用。在本例中,我也使用片段。我的onKey监听器如下所示 EditProduct.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { //
EditProduct.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
Editable prx=EditProduct.getText();
String new_prx=prx.toString();
//mini_productList
int count=0;
if (new_prx.equals("")) {
loadtableProducts(productList);
}else {
for(int i=0;i<productList.size();i++){
if (productList.get(i).getDescription().toString().substring(0, (new_prx.length())).equalsIgnoreCase(new_prx)) {
mini_productList.add(productList.get(i));
count++;
}
}
loadtableProducts(mini_productList);
//Toast.makeText(getActivity(), "No of products "+count, Toast.LENGTH_SHORT).show();
}
return false;
}
});
EditProduct.setOnKeyListener(新的OnKeyListener(){
@凌驾
公共布尔onKey(视图v、int keyCode、KeyEvent事件){
//TODO自动生成的方法存根
可编辑prx=EditProduct.getText();
字符串new_prx=prx.toString();
//迷你产品列表
整数计数=0;
如果(新的_prx.equals(“”){
loadtableProducts(产品列表);
}否则{
对于(int i=0;i,EditText.setOnKeyListener的文档说明:
“注册在该视图中按下硬件键时调用的回调。软件输入方法中的按键通常不会触发此侦听器的方法。”
模拟器使用的是硬件键盘,而您的设备使用的是软件键盘。我建议您使用“addTextChangedListener”作为替代
但是我注意到,您说您的Toast确实表示输入了一个键。那么,您在使用实际设备时是否真的输入了OnKeyListener?如果是,我将删除我的答案。否,它只显示Toast,但不更改表。我将尝试您的Toast。哦,我忘了留下评论。我在onTextC中使用了PostTextChanged挂起听者。它工作正常。提前感谢。
<EditText
android:id="@+id/edit_product"
android:layout_width="@dimen/txtWidth"
android:layout_height="@dimen/txtHeight"
android:background="@color/transparent"
android:hint="Enter the product name"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="@dimen/boldtext" />