我的问题是: 是否可以从已禁用的editText启用复制文本功能?
我尝试了以下代码来测试在Android 4.4.2(三星Galaxy Note II)上的行为:
EditText _edit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment_test);
_edit = (EditText) findViewById(R.id.editDisabled);
_edit.setText("Text to be copied...");
_edit.setEnabled(false);
/* update code with answer below */
_edit.setInputType(InputType.TYPE_NULL);
_edit.setTextIsSelectable(true);
/* end mod */
Toast.makeText(getApplicationContext(), "onClick enabled: " + (_edit.isClickable() ? true : false) +
" \n onLongClick enabled: " + (_edit.isLongClickable() ? true : false) , Toast.LENGTH_LONG).show();
_edit.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View paramView) {
Toast.makeText(getApplicationContext(), "onLongClick()!!!", Toast.LENGTH_LONG).show();
return false;
}
});
_edit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View paramView) {
Toast.makeText(getApplicationContext(), "onclick()!!", Toast.LENGTH_LONG).show();
}
});
}
当活动打开时,Toast会在onClick()和onLongClick()事件中显示true/true。但是,如果我尝试在禁用的editText上单击或长按,则不会触发任何事件。
那么,有谁能回答我的问题或解释禁用的editText的奇怪行为吗?
提前感谢你。