我正在尝试从Java动态构建View,我很困惑为什么这不起作用。
TextView displayText
根本不会出现在屏幕上。我不明白为什么它不会像上面用户输入他们的名字那样。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RelativeLayout ceriLayout = new RelativeLayout(this);
Button genButton = new Button(this);
genButton.setText("Press here");
genButton.setId(0);
TextView displayView = new TextView(this);
displayView.setText("What is going to go here huh");
displayView.setId(1);
EditText nameView = new EditText(this);
nameView.setText("Enter your name");
nameView.setId(2);
RelativeLayout.LayoutParams button = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
);
RelativeLayout.LayoutParams name = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
);
RelativeLayout.LayoutParams display;
display = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
);
button.addRule(RelativeLayout.CENTER_HORIZONTAL);
button.addRule(RelativeLayout.CENTER_VERTICAL);
display.addRule(RelativeLayout.CENTER_HORIZONTAL);
display.addRule(RelativeLayout.ABOVE, nameView.getId());
name.addRule(RelativeLayout.CENTER_HORIZONTAL);
name.addRule(RelativeLayout.ABOVE, genButton.getId());
ceriLayout.addView(genButton, button);
ceriLayout.addView(nameView,name);
setContentView(ceriLayout);
}
}
答案 0 :(得分:2)
您没有将displayView
添加到ceriLayout
。这就是它没有出现的原因。
建议:请尝试学习在View
布局文件中编写.xml
组件,并将这些布局设置为活动的内容视图。