野人学Android基础篇之初探UI控件第一课--TextView动态赋值

来源:互联网 发布:c语言 double 误差 编辑:程序博客网 时间:2024/05/01 14:58

除了上节课中讲到的TextView静态赋值,还有一种更加灵活的赋值方法–动态赋值。在app的运行过程中,根据程序的需要可以随时改变TextView的值。

其实现的基本逻辑可以归纳如下:
1.通过id获取我们要操作的TextView控件
2.使用一些方法可以赋值给TextView控件

很简单的逻辑,就好比通过书的名字找到我想要找的书,然后在书上写上我想要写的东西。具体的代码实现如下:

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.textview);        //通过id获取TextView控件        TextView textview = (TextView) findViewById(R.id.textView1);        //使用setText的方法对textview动态赋值        textview.setText("这是动态赋值的结果");       }}

很简单,是不是?TextView作为对象,Android已经为其定义了很多方法,大家可以百度,也可以查看Android的开发文档。通过findViewById()方法获取TextView控件之后,为了保证前后的类型一致,需要对其进行强转,所以前面要添加(TextView)。

以上的代码在这个程序中运行起来不会出错,但是不够规范。在以后的编程中,一个控件可以会被多个方法调用,所以建议将TextView对象做全局变量,并且控件一般只在自身的Activity中调用,所以要私有化。但是具体问题具体分析,千万不要拘泥于形式,要抓住问题的关键。修改如下:

public class MainActivity extends Activity {    //初始化控件    private TextView textview;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.textview);        //通过id获取TextView控件        textview = (TextView) findViewById(R.id.textView1);        //使用setText的方法对textview动态赋值        textview.setText("这是动态赋值的结果");       }}

对xml的操作,和静态赋值一样,这里就不赘述了。最后附上效果图一样。

TextView动态赋值效果图

0 0