Android edittext无法从只读模式动态获取可编辑内容
我尝试在单击按钮后使edittext可编辑。 下面是我的代码片段 单击事件之前:Android edittext无法从只读模式动态获取可编辑内容,android,android-edittext,android-debug,Android,Android Edittext,Android Debug,我尝试在单击按钮后使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.s
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);
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) 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);
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上,也不可编辑。
那么,我在这里做什么或者还有什么要做的呢?您需要使用
setEnabled()
setFocusable()
不会使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()
的代码中工作。它工作了。。但是setenabled方法并不是自动出现的。。我是说在物体上,这很奇怪。我明天去看看。我现在得赶回家了。快乐编码:)