1. 程式人生 > >野人學Android基礎篇之初探UI控制元件第一課--TextView動態賦值

野人學Android基礎篇之初探UI控制元件第一課--TextView動態賦值

除了上節課中講到的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動態賦值效果圖