野人學Android基礎篇之初探UI控制元件第一課--TextView動態賦值
阿新 • • 發佈:2019-02-19
除了上節課中講到的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的操作,和靜態賦值一樣,這裡就不贅述了。最後附上效果圖一樣。