我有这个代码,我有一个按钮,这个make出现一个编辑文本并强制软输入到apears,我想做一些东西,当用户结束输入文本我怎么做?
public class MainActivity extends Activity implements OnClickListener {
private EditText textInput;
private Button btnAdd;
private TextView text;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textInput = (EditText)this.findViewById(R.id.editText1);
btnAdd = (Button)this.findViewById(R.id.button1);
text = (TextView)this.findViewById(R.id.textView1);
btnAdd.setOnClickListener(this);
}
public void onClick(View arg0) {
int id = arg0.getId();
switch(id){
case R.id.button1:
processOnClick();
break;
}
}
private void processOnClick() {
text.setVisibility(2);
textInput.setVisibility(0);
textInput.setInputType(0x00000001);
textInput.getWindowVisibility();
textInput.setCursorVisible(false);
//textInput.onKeyDown(0x00000009,KeyEvent.KEYCODE_2);
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(textInput.findFocus(), 0);
}
感谢所有
答案 0 :(得分:0)
您可以使用此链接:How to know if keyboard (dis)appears in Android?
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks whether a hardware or on-screen keyboard is available
if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_NO) {
Toast.makeText(this, "Keyboard visible", Toast.LENGTH_SHORT).show();
} else if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_YES) {
Toast.makeText(this, "Keyboard hidden", Toast.LENGTH_SHORT).show();
}
}
答案 1 :(得分:0)
这完全取决于你如何确定“用户结束输入文字”。
如果您认为用户正在等待程序在给出输入后3秒钟响应(比如说),那么您可以按照以下步骤操作:
EditText
添加TextWatcher
。每次文本更改时,都会通过回调通知您。Thread
睡眠预定时间(3秒)如果睡眠完成,则启动Activity
。如果用户在睡眠完成之前输入文本,请中断线程并重新开始。更直接的实现是提供一个按钮,其中显示“Go”或“Start”之类的内容,这样用户就不会感到意外,并且您不会做任何无意义的事情。