我有一个EditText。我希望这个edittext始终处于焦点和可写状态。如何在不触碰的情况下完成此操作?因为条形码扫描仪机器会连续向此应用程序发送数据。
anasayfa_barkod.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if ((keyEvent.getAction() == KeyEvent.ACTION_DOWN) &&
(i == KeyEvent.KEYCODE_ENTER)) {
adapter.clear();
adapter.notifyDataSetChanged();
geciciListeyeEkle();
listeyiYukle();
adapter.notifyDataSetChanged();
tutarYazdir();
if(anasayfa_verilenUcret.getText().length()>0){
try{
String ucret=anasayfa_verilenUcret.toString();
String paraustu=String.valueOf(Double.parseDouble(ucret)-gelenSatis);
anasayfa_paraustu.setText(paraustu);
}catch (NumberFormatException e){
e.printStackTrace();
}
}
anasayfa_barkod.requestFocus(); //not working
return true;
}
return false;
}
});
我尝试了很多方法。但是所有方法都没有用。我可以设置键盘是可见的,但光标不在edittext上。
答案 0 :(得分:0)
我想我可以帮忙。在onCreate方法
中使用它editText.requestFocus();
它对我有用。
答案 1 :(得分:0)
如果您在活动中,请在onCreate方法中添加:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
如果你是片段使用这个:
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
答案 2 :(得分:0)
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if ( anasayfa_barkod!= null) {
anasayfa_barkod.requestFocus();
}
}
}, 1000);