0

对于知道它是如何工作的人来说,这应该是一个简单的问题。

TextView myText = (TextView) findViewById(R.id.myText);
Button btn = (Button) findViewById(R.id.button);

(Textview)/(Button) 有什么作用,它是什么?

是否相当于

TextView myText = new TextView(findViewById(R.id.myText));
Button btn = new Button(findViewById(R.id.button));

另外,我可能弄错了,但这不仅在android中是java语言吗?

谢谢

注意:我没有问什么是文本视图或按钮,我问的是这是一种实例化、强制转换等。

4

4 回答 4

0

You are initializing textview

     TextView myText = (TextView) findViewById(R.id.myText);
     // the one in the braces is casting to textview

public final View findViewById (int id)

You can findViewById of the current view hierarchy set to the activity.

Look for a child view with the given id. If this view has the given id, return this view.

If you want to do it programatically

     TextView myText = new TextView(ActivityName.this); 

If you do as above you need to add it to the root view

If you have LinearLayout as root view

     setContenView(R.layout.mylayout);
     LinearLayout ll = (LinearLayout) findViewById(R.id.linearlayout);   
     ll.addView(myText);  

or

     setContentView(myText); 
于 2013-06-13T15:01:10.773 回答
0

好吧,像 (Button) 或 (TextView) 这样的 (Type) 称为演员表。您可以在 Google 上轻松找到任何语言的演员表信息。

于 2013-06-13T14:52:57.787 回答
0

Android 是一个平台,Java 是用于编写 Android 应用程序的语言。所以

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

是java中的强制转换(View -> TextView),不,它不等同于使用构造函数。

于 2013-06-13T14:55:29.503 回答
0

View.findViewById()

返回View类型,这种View类型可以是TextViewButton或其他。通过进行强制转换(这是 () 的含义),您是在告诉运行时返回View的类型是那些大括号中的任何类型。

TextViewButton是 View 类型的子类。

于 2013-06-13T14:57:40.260 回答