新手求助android在JAVA代码中修改EditText的相关属性。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手求助android在JAVA代码中修改EditText的相关属性。相关的知识,希望对你有一定的参考价值。
如上图,我在xml布局中设置EditText的属性设置android:focusable="false" 使得文本框失去焦点。使得文本不可编辑。。。然后如何在java代码中实现当我按下Button按钮时,将EditText属性设置android:focusable="true"。使得文本可以编辑。。。
求助大神! 求实现该问题的源代码。。。纯android菜鸟,刚接触android。
具体一个字母可能不同,我没有开eclipse,有问题的话就追加吧追问
一楼的方法就是这样的啊。能运行了 但是实现不了这样的功能。求解
追答建议你不要用focus类的方法去禁止输入,如果像楼下说的那样的话初始化之后就不能修改了,你可以用enable的方法去禁止输入
追问我也试过用enable的方法。也不行,你能用其他的方法写个代码吗?
追答http://blog.csdn.net/competerh_programing/article/details/7415938
参考技术A EditText dt=(EditText)findViewById(R.id.你的id);Button bt=(Button)findViewById(R.id.你的id);
//按钮监听
bt.setOnClickListener(new OnClickListener()
@Override
public void onClick(View v)
// TODO Auto-generated method stub
dt.setFocusable(true);
);追问
不行啊 dt.setFocusable(true);这一行有错误 dt 下面有红色波浪线。。
错误信息是Cannot refer to a non-final variable dt inside an inner class defined in a different method。。怎么解决?
把dt设置为全局变量
参考技术B 楼上正解,不过如果这样用,dt需要改成final型的追问但是我把dt改为final型的。能运行、但是还是实现不了那个功能啊。求解。你能用另外的方法写一个代码吗?万分感谢
追答刚才查了下,focusable是第一次使用有效,之后就无效的,所以之后你修改了理论上来说是不行的,下面这个是刚查到一段代码,你试试行不行。
editText = (EditText) findViewById(R.id.editText1);Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener()
public void onClick(View v)
if (flag==true)
System.out.println("开启软键盘");
editText.setInputType(InputType.TYPE_CLASS_TEXT);
flag = false;
else
System.out.println("禁止软键盘");
editText.setInputType(InputType.TYPE_NULL);
flag = true;
);
特别注意:这种方法也只能禁止软键盘,若手机自带硬键盘,此方案失效。
以上是关于新手求助android在JAVA代码中修改EditText的相关属性。的主要内容,如果未能解决你的问题,请参考以下文章
修改Delphi 10.1.2 edit控件在android的复制剪切和粘贴样式