(TextView)(按钮)有什么作用?

时间:2013-06-13 14:51:13

标签: java android objectinstantiation

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

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

(Textview)/(按钮)做什么,它是什么?

是否相当于

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

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

由于

注意:我不是在询问textview或按钮是什么,我问这是一种实例化,转换等等。

4 个答案:

答案 0 :(得分:0)

嗯,类型(按钮)或(TextView)称为强制转换。您可以在Google上轻松找到有关任何语言的演员表的任何信息。

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

View.findViewById()

返回View类型,此View类型可以是TextViewButton或其他类型。通过执行强制转换(这是什么()意味着),您告诉运行时返回的View类似于那些大括号中的类型。

TextViewButton是View类型的子类。

答案 3 :(得分:0)

您正在初始化textview

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

public final View findViewById (int id)

您可以找到设置为活动的当前视图层次结构的ViewById。

查找具有给定ID的子视图。如果此视图具有给定的id,请返回此视图。

如果您想以编程方式执行此操作

     TextView myText = new TextView(ActivityName.this); 

如果你这样做,你需要将它添加到根视图

如果您将LinearLayout作为根视图

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

     setContentView(myText);