我一直在尝试在onClick上添加多个textview和按钮,这是我发现的最佳代码实际上有效:
RelativeLayout relative = (RelativeLayout) findViewById(R.id.RelativeLayout01);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
(LayoutParams.WRAP_CONTENT), (LayoutParams.WRAP_CONTENT));
TextView tv = new TextView(getApplicationContext());
tv.setLayoutParams(lp);
tv.setText("Shift" + mShiftCount);
EditText edittv = new EditText(getApplicationContext());
edittv.setLayoutParams(lp);
relative.addView(tv);
relative.addView(edittv);
这似乎是添加其他项目的最佳代码,这些项目与我在main.XML文件中已有的项目相似。 我的问题是,当添加它们时,它们出现在屏幕的顶部,我不确定如何向对象添加更多参数。 我如何将textview和edittext放在XML中指定的其他元素下面?
答案 0 :(得分:0)
当您向RelativeLayout.LayoutParams
添加tv和edittv等视图时,您需要创建一个RelativeLayout
(请参阅here)。在RelativeLayout.LayoutParams
中,您需要定义与其他RelativeLayout
对象相同的参数。这是一个例子:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.idOfWhatYouWantToBeBelowOf);
addView(tv, params);
答案 1 :(得分:0)
首先,您的视图和一些动态组件肯定会有一些静态组件。你可以指定一下你的布局文件是什么,这样我就可以在你的应用程序中给你更详细的信息。