2014-11-22 76 views
0

onCreate方法我正在通過使用setFocusable方法使所有editText禁用。 但在按鈕上點擊我想再次設置焦點。我已經實現了這一點,但現在工作。如何使editText專注於Android中的按鈕點擊?

protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.contactform); 

      name = (EditText) findViewById(R.id.name); 
      email = (EditText) findViewById(R.id.email); 
      address = (EditText) findViewById(R.id.address); 
      phone_number = (EditText) findViewById(R.id.phone_number); 

      name.setFocusable(false); 
      address.setFocusable(false); 
      phone_number.setFocusable(false); 
      email.setFocusable(false); 

    } 


    public boolean onOptionsItemSelected(MenuItem item) { 
      // TODO Auto-generated method stub 
      switch(item.getItemId()){ 

      case R.id.editButton: 
        Toast.makeText(this, "clicked", Toast.LENGTH_LONG).show(); 
        name.setFocusable(true); 
        name.setFocusable(true); 
        address.setFocusable(true); 
        phone_number.setFocusable(true); 
        email.setFocusable(true); 

       break; 
      } 
      return super.onOptionsItemSelected(item); 

     } 
+0

只需使用setFocusable(真)代替的setEnabled(真)。 – 2014-11-22 13:10:44

回答

0

用途:

setFocusable(true) 
setFocusableInTouchMode(true) 

相反:

setEnabled(true) 
+0

它已經setFocusable(true),但不工作 – user3288891 2014-11-22 13:18:48

+0

@ user3288891,現在你在使用setEnable(true)之前在你的代碼中使用了setFocusable(true)。 – 2014-11-22 13:20:20

+0

setFocusableInTouchMode(true)起作用 – user3288891 2014-11-22 13:48:55