2017-04-03 117 views
0

我是新來的Java和Android開發作爲一個整體,所以我敢肯定這個問題涉及到我的部分關於Java如何實際工作的知識缺口,所以我希望有人能幫我填補這個空白。我已經使用Python,Javascript和其他OOP語言編寫了幾年,但是我發現Java/Android Dev打破了一些我已經瞭解和理解的約定。Java/Android MainActivity語法令人困惑 - 需要一些澄清

下面是一個MainActivity一個非常基本的類定義,我相信這是標準的Android教程

public class MainActivity extends AppCompatActivity { 
private TextView textView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.test); 
    textView = (TextView) findViewById(R.id.textView); 

} 

的一部分,總體來說,這一代碼使我感覺良好。定義一個名爲MainActivity的類,該類繼承AppCompatActivity類並覆蓋onCreate方法。實例狀態被保存,佈局被初始化,然後textView被初始化。

我的混亂區域來自textView初始化。

textView = (TextView) findViewById(R.id.textView); 

(TextView)和findViewById方法之間的空白讓我感到困惑。爲什麼這是允許的?是不是應該更多的東西一樣,

textView = (TextView).findViewById(R.id.textView); 

再次聲明,我完全新的Java和仍然在學習語法和語言結構,但是這似乎有點怪我。怎樣才能像這樣調用一個方法?再次提前感謝。我一直在用谷歌搜索來說這個問題有點麻煩。

回答

0

定義這個編程句話是標準的Android的Java編碼

textView = (TextView) findViewById(R.id.textView); 

要麼你可以去

textView = (TextView) this.findViewById(R.id.textView); 

欲瞭解更多信息,請參閱link

+0

非常感謝您的回答 –

-2

(TextView的)僅蒙上找到對象通過findViewbyIdR.layout.test應包含一個TextView與編號textView

+0

我看到我沒有完全理解對象鑄造。謝謝回答 –