对于知道如何运作的人来说,这应该是一个简单的问题。
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或按钮是什么,我问这是一种实例化,转换等等。
答案 0 :(得分:0)
嗯,类型(按钮)或(TextView)称为强制转换。您可以在Google上轻松找到有关任何语言的演员表的任何信息。
答案 1 :(得分:0)
Android是一个平台,Java是用于编写Android应用程序的语言。所以
TextView myText = (TextView) findViewById(R.id.myText);
是java中的强制转换(View - > TextView),不是,它不等同于使用构造函数。
答案 2 :(得分:0)
返回View
类型,此View
类型可以是TextView
,Button
或其他类型。通过执行强制转换(这是什么()意味着),您告诉运行时返回的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);