EidtText可编辑不可点击和可点击不可编辑终极版。
来源:互联网 发布:如何成为淘宝促销员 编辑:程序博客网 时间:2024/06/06 19:20
前言:管他黑猫白猫,抓到老鼠就是好猫,你觉得老板会理你有没有用老鼠笼?
相信看到这个博客的你,一定很烦恼,因为我在写这篇博客之前也是,很多朋友的博客都是用这三个玩意(clickable,focusable,enabled)来这实现这个功能,但是我用了他们的代码后发现“妈的,这是什么鬼?”怎么试都是扯淡,所以我最后曲线救国,想了这个方法,保证可以。
首先我说说需求,某个界面既是新增又是修改界面,当新增的时候EditText就是正常的EditText;当时修改界面的时候,点击EdiText就跳转到另一个界面进行修改,就像那种搜索框,现在的搜索框点击后一般都是跳转到令一个界面去修改,反正这时候EditText就充当一个Button来用。
//true代表是修改界面private boolean isEdit = false;mEditProjectName.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //只有修改界面的时候触发。 if(isEdit){ Intent intent = new Intent(); intent.setClass(A.this, B.class); intent.putExtra("strContent", mEditProjectName.getText().toString()); intent.putExtra("strTitle", mContext.getString(R.string.modify_project_name)); startActivityForResult(intent, ConstantData.REQUEST_NOTE_TITLE); } }});if(isEdit){ //可用可点击不可获取焦点 mEditProjectName.setEnabled(true); mEditProjectName.setClickable(true); mEditProjectName.setFocusable(false);}else{ //啥也不用管,EditText本来是什么样就什么样,上面的点击事件他进不去的。}
另外,这个方法我说是曲线救国,其实是没有错的,因为EditText继承自TextView,而在我们使用的过程中可以体现出来的差别就是EditText是否可以编辑,而下面这三行代码就是把这个属性干掉了,所以此时此刻它就是就是一个TextView。
//丛我们可见的程度上来说设置了这三个属性EditText就变成了TextView mEditProjectName.setEnabled(true); mEditProjectName.setClickable(true); mEditProjectName.setFocusable(false);
所以,面对我上面同样的需求,一个TextView怎么处理此时的EditText就怎么处理,这样是不是可以很好的理解了。
当然,如果你这个方法也不想用,还有一个方法。用两个控件,用一个FrameLayout布局将一个EditText一个TextView叠起来,按照需求显示;
0 0
- EidtText可编辑不可点击和可点击不可编辑终极版。
- EditText怎么设置可点击不可编辑
- android EditText 的不可编辑可点击
- edittext的可编辑和不可编辑
- 点击修改按钮,将alv某列的不可编辑状态转为可编辑状态
- 几种实现点击修改按钮可编辑文本,不点则不可编辑的方式
- Edittext不可编辑可点击 & 解决Edittext第二次点击才有效
- android 实现edittext的动态可编辑和不可编辑
- Android EditText设置可编辑和不可编辑状态
- 设置QTableWidgetItem不可编辑和可编辑状态
- EditText可编辑与不可编辑
- EditText 设置可编辑不可编辑
- EditText可编辑与不可编辑。
- QTreeWidgetItem 点击可编辑修改
- QTreeWidgetItem 点击可编辑修改
- JavaScript实现点击可编辑
- EditorGridPanel 某 行 不可编辑 (可完善.)
- android 时间控件 设置不可点击编辑
- e.target的含义
- Callable的使用
- c语言(判断素数)
- 20161215关于写博客的一些感想
- numpy 的一些数组操作方法
- EidtText可编辑不可点击和可点击不可编辑终极版。
- 如何在有限时间内尽可能高效率地学习前端?
- 网络编程5类ip地址范围
- Android Rxjava遍历,过滤集合
- dubbo 的monitor监控中心配置
- 深入分析Volatile的实现原理
- Java Base64
- 60. Permutation Sequence
- 第十五周 将字符串插入到另一个字符串指定的位置