新手求助android在JAVA代码中修改EditText的相关属性。 20
如上图,我在xml布局中设置EditText的属性设置android:focusable="false"使得文本框失去焦点。使得文本不可编辑。。。然后如何在java代码中...
如上图,我在xml布局中设置EditText的属性设置android:focusable="false" 使得文本框失去焦点。使得文本不可编辑。。。然后如何在java代码中实现当我按下Button按钮时,将EditText属性设置android:focusable="true"。使得文本可以编辑。。。
求助大神! 求实现该问题的源代码。。。纯android菜鸟,刚接触android。 展开
求助大神! 求实现该问题的源代码。。。纯android菜鸟,刚接触android。 展开
3个回答
展开全部
应该是在button的setOnClickListener方法里面传值new一个View.onClickListener,onClickListener的onClick事件里面写上 editText.setFocusable(true)
具体一个字母可能不同,我没有开eclipse,有问题的话就追加吧
具体一个字母可能不同,我没有开eclipse,有问题的话就追加吧
更多追问追答
追问
一楼的方法就是这样的啊。能运行了 但是实现不了这样的功能。求解
追答
建议你不要用focus类的方法去禁止输入,如果像楼下说的那样的话初始化之后就不能修改了,你可以用enable的方法去禁止输入
展开全部
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设置为全局变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上正解,不过如果这样用,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;
}
}
});
特别注意:这种方法也只能禁止软键盘,若手机自带硬键盘,此方案失效。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询