关于在我的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的函数发布数据类,请参见我的编辑