在Android中,我习惯使用XML文件设置布局
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
但您也可以使用View in Java
设置内容 // Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
// Set the text view as the activity layout
setContentView(textView);
这会产生无法再使用布局文件的副作用。
反正我是否可以以编程方式设置文本值,仍然使用layout.xml文件?
答案 0 :(得分:4)
不确定
在 layout.xml 文件中,您必须定义id
main layout
的{{1}},然后才能执行此操作:
(android:id="@+id/mainLayout" )
答案 1 :(得分:1)
当您使用setContentView(R.layout.activity_main)时,您告诉要使用的布局是xml布局文件activity_main。
当您使用setContentView(textView)时,将由textView组件替换以前添加的xml布局文件。
您可以在布局文件中声明TextView,然后以编程方式设置文本。
TextView textView = (TextView) findViewById(R.id.textView);
textView.setTextSize(40);
textView.setText(message);
答案 2 :(得分:-1)
例如:
在layout.xml中粘贴此代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id = "@+id/lblText"
android:textSize="40"
/>
</RelativeLayout>
并且,在您的MainActivity中:
public class MainActivity extends Activity
{
private TextView lblText;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.lblText = (TextView)findViewById(R.id.lblText);
this.lblText.setText("your message");
}
}