gpt4 book ai didi

android - 在禁用的 EditText 上启用复制并解释 android editText 的奇怪行为

转载 作者:行者123 更新时间:2023-11-29 17:39:54 25 4
gpt4 key购买 nike

我的问题是:是否可以从禁用的 editText 启用复制文本功能?

我尝试了以下代码来测试 Android 4.4.2 (samsung 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();

}
});
}

当 Activity 打开时,Toast 显示 onClick() 和 onLongClick() 事件的 true/true。但是,如果我尝试在禁用的 editText 上单击或长按,则不会触发任何事件。

那么有人能回答我的问题或解释禁用的 editText 的奇怪行为吗?

提前致谢

最佳答案

这不是奇怪的行为。禁用 View 意味着禁止用户交互,无论 View 是否(长)可点击。

您可以按 Paul Chernenko 去做已回答,以禁用输入并保留可选择的文本。用户交互也是可能的(点击和长按)。

在您的情况下,我假设您从 EditText 的禁用状态中唯一缺少的是外观已禁用。这可以通过自定义 EditText 样式来实现,这将是另一个问题。

关于android - 在禁用的 EditText 上启用复制并解释 android editText 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29123542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com