2014-09-25 46 views
0

我試圖使edittext編輯後點擊一個按鈕。 以下是我的代碼片段。edittext不能從只讀模式動態編輯

點擊事件之前:

name_value = (EditText) findViewById(R.id.name_value); 
name_value.setText(DashBoardDisplay_l.getName()); 
name_value.setFocusable(false); 


likes_value = (EditText) findViewById(R.id.likes_value); 
likes_value.setText(DashBoardDisplay_l.getLikes()); 
likes_value.setFocusable(false); 

calls_value = (EditText) findViewById(R.id.Calls_value); 
calls_value.setText(DashBoardDisplay_l.getCalls()); 
calls_value.setFocusable(false); 

click事件之後:

android.view.View.OnClickListener enable_listeners = new OnClickListener() { 

    @Override 
    public void onClick(View v) { 

     Log.d("Zumbare","in enable listners"); 
     Button b = (Button) v; 
     if(b.getText().toString().equalsIgnoreCase("edit")){ 

      Log.d("Zumbare","in edit condition"); 
      desc.setOnClickListener(show_buttons); 
      icon.setOnClickListener(slct_image); 
      name_value.setFocusable(true); 
      likes_value.setFocusable(true); 
      calls_value.setFocusable(true); 
      edit.setText("Save"); 
      name_value.requestFocus(); 

     } 

    } 
}; 

但按鈕的單擊事件後,沒有關注即將上NAME_VALUE的EditText,也不能編輯。 那麼我在這裏做什麼或什麼是更多的事情呢?

回答

1

您需要使用setEnabled()

setFocusable()不會編輯edittext。它將只專注於特定的edittext。

// make editable 
name_value.setEnabled(true); 
likes_value.setEnabled(true); 
calls_value.setEnabled(true); 

// set focusable 
name_value.setFocusable(true); 
likes_value.setFocusable(true); 
calls_value.setFocusable(true); 

//set focus to particular edittext 
name_value.requestFocus(); 

應該在onClick()的代碼中工作。

+0

它的工作..但可setenabled方法沒有自動來..我的意思是在對象。 – kavuru 2014-09-25 14:19:01

+0

這很奇怪。我會看看明天。現在必須趕回家。快樂編碼:) – 2014-09-25 14:25:48