关于在我的android程序中关闭键盘的咨询
当我从对话框返回时,键盘仍然打开,即使我关闭它 我的对话来自致残关于在我的android程序中关闭键盘的咨询,android,Android,当我从对话框返回时,键盘仍然打开,即使我关闭它 我的对话来自致残 txtWeight = (TextView) findViewById(R.id.txtWeight); txtWeight.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { data myDialog = ne
txtWeight = (TextView) findViewById(R.id.txtWeight);
txtWeight.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
data myDialog = new data(context, "ME", new OnReadyListener());
myDialog.show();
}
});
在对话框中
public class data extends Dialog {
private ReadyListener readyListener;
public String KG;
private EditText txtGK;
public data(Context context, String name,ReadyListener readyListener) {
super(context);
this.readyListener = readyListener;
}
public interface ReadyListener {
public void ready(String name);
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.data);
setTitle("the title");
Button btnClose;
Button btnexit;
txtGK = (EditText) findViewById(R.id.txtWeight);
txtGK.setText("");
btnClose = (Button) findViewById(R.id.button1);
btnClose.setOnClickListener(new Close());
btnexit = (Button) findViewById(R.id.button2);
btnexit.setOnClickListener(new exit());
}
private class Close implements android.view.View.OnClickListener {
public void onClick(View v) {
KG=txtGK.getText().toString();
readyListener.ready(KG);
data.this.dismiss();
}
}
private class exit implements android.view.View.OnClickListener {
public void onClick(View v) {
data.this.dismiss();
}
}
}
并从对话框返回到主菜单
private class OnReadyListener implements data.ReadyListener {
public void ready(String name) {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(txtWeight.getWindowToken(), 0);
txt1 = name;
txtWeight.setText(txt1);
String currentDateTimeString =
imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(txtWeight.getWindowToken(), 0);
}
}
如您所见,我尝试按如下方式关闭键盘:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(txtWeight.getWindowToken(), 0);
但键盘未关闭您能否发布数据类的代码,特别是调用readylistener的函数发布数据类,请参见我的编辑