EditText和TextView的区别在于用户可以在EditText中进行动态编辑,慢慢地我觉得,其实无论是TextView还是EditText,最好养成习惯可以把功能和属性分开,属性相关的东西都在xml中来设定,这样的话马上可以看到结果,方便修改,而功能相关的,比如取得用户输入的数字等等,这些只能在java中通过其相应的API来实现,下文会讲到.
以后我就打算这样做了,不过呢,还是那句话,无论哪种习惯,只要是自己觉得好,不会混淆就好.
EditText就像一个窗口,用户输入数据,把数据传给Android的应用程序,然后通过计算等等操作得到我们想要的结果.
具体用法:
1.xml操作
先在xml文件中设置好自己需要的属性,比如框多大多长,最多可以输入多少字符,是不是只能输入数字,有没有提示要输入什么内容,颜色字体,输入的是密码,还是电话号码等等,这些东西都是按照具体需要在xml中一行一行地添加就行了,参看属性设置,并不困难.
//强调一点,id是连接java和xml的必要通道,所以养成习惯在创建任何控件的时候都为其设定一个id,因为你不知道你什么时候会用到,其实往往都会用到
2.java操作
EditText的功能说再多无非也就是传递一下数据,所以呢,按照上面我说的,这个过程要在java中来实现.输入的数据通常不是字符就是数字,我们举个例子看看是怎么实现的.
首先假设xml中已经有一个id为editText的EditText控件
那么java代码中
importandroid.widget.EditText;
EditText myEditText=(EditText)findViewById(R.id.editText);
//我发现了,其实比较好的方式是在程序的一开始就在成员变量里面定义好这些变量(private类型的),然后以后在OnCreate方法中把它们和xml文件中的控件关联起来。再在具体的方法里面定义具体的监听,取值,赋给intent等等操作
Strings=myEditText.getText().toString();
通常这就是所需要的操作,EditText很多时候只是一个中间过程,一般来说还有Button控件来触发进一步的操作,比如显示字符串,计算,打电话,发消息等等,后面将进一步讨论.
通常呢先要把得到的数据存放到Intent对象中,然后再通过putExtra(key,value)方法传给其它Activity.