Java AddView错误,只显示第一个元素
假设我有一个LinearLayout,我想给它添加两个视图。第一个包含editText,另一个包含listview。我已经尝试了以下java代码:Java AddView错误,只显示第一个元素,java,android,view,add,Java,Android,View,Add,假设我有一个LinearLayout,我想给它添加两个视图。第一个包含editText,另一个包含listview。我已经尝试了以下java代码: EditText inputViaText; ListView historyInput; protected static LinearLayout askTextLayout = null; askTextLayout = new LinearLayout(this); askTextLayout.set
EditText inputViaText;
ListView historyInput;
protected static LinearLayout askTextLayout = null;
askTextLayout = new LinearLayout(this);
askTextLayout.setVisibility(LinearLayout.VISIBLE);
askTextLayout.setOrientation(LinearLayout.HORIZONTAL);
inputViaText = new EditText(this);
LinearLayout.LayoutParams askTextParams = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
historyInput = new ListView(this);
LinearLayout.LayoutParams historyInputParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,70);
askTextLayout.addView(historyInput,historyInputParams);
askTextLayout.addView(inputViaText,askTextParams);
FrameLayout.LayoutParams frameAskTextParams = new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
setContentView(R.layout.activity_main);
addContentView(askTextLayout, frameAskTextParams);
但是,它只是显示了我添加的第一个。因此,当我编写如下代码时:
askTextLayout.addView(historyInput,historyInputParams);
askTextLayout.addView(inputViaText,askTextParams);
askTextLayout.addView(inputViaText,askTextParams);
askTextLayout.addView(historyInput,historyInputParams);
它只是显示listView。当我编写如下代码时:
askTextLayout.addView(historyInput,historyInputParams);
askTextLayout.addView(inputViaText,askTextParams);
askTextLayout.addView(inputViaText,askTextParams);
askTextLayout.addView(historyInput,historyInputParams);
它只显示编辑文本。有人可以帮我吗?在活动的oncreate方法中尝试此代码
context = this;
setContentView(R.layout.activity_main);
container = (LinearLayout) findViewById(R.id.Linear);
LinearLayout linearLayout = new LinearLayout(context);
linearLayout.setWeightSum(100);
ListView v1 = new ListView(context);
v1.setBackgroundColor(Color.CYAN);
LinearLayout.LayoutParams p1 = new LinearLayout.LayoutParams(0,
50);
p1.weight = 90;
v1.setLayoutParams(p1);
EditText v2 = new EditText(context);
v2.setText("Hello");
v2.setBackgroundColor(Color.WHITE);
LinearLayout.LayoutParams p2 = new LinearLayout.LayoutParams(0,
50);
p2.weight = 10;
v2.setLayoutParams(p2);
linearLayout.addView(v1, p1);
linearLayout.addView(v2, p2);
View view = new View(MainActivity.this);
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT,
1);
view.setLayoutParams(lp);
view.setBackgroundColor(Color.BLACK);
container.addView(linearLayout);
container.addView(view);
Write this in activity_main:
<LinearLayout
android:id="@+id/Linear"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</LinearLayout>
context=this;
setContentView(R.layout.activity_main);
容器=(线性布局)findViewById(R.id.Linear);
LinearLayout LinearLayout=新的LinearLayout(上下文);
线性布局。设置权重总和(100);
ListView v1=新的ListView(上下文);
v1.setBackgroundColor(颜色为青色);
LinearLayout.LayoutParams p1=新的LinearLayout.LayoutParams(0,
50);
p1.重量=90;
v1.设置布局参数(p1);
EditText v2=新的EditText(上下文);
v2.setText(“你好”);
v2.setBackgroundColor(颜色为白色);
LinearLayout.LayoutParams p2=新的LinearLayout.LayoutParams(0,
50);
p2.重量=10;
v2.设置布局参数(p2);
linearLayout.addView(v1,p1);
线性布局。添加视图(v2,p2);
视图=新视图(MainActivity.this);
LayoutParams lp=新的LayoutParams(LayoutParams.MATCH_父项,
1);
view.setLayoutParams(lp);
视图.setBackgroundColor(颜色.黑色);
container.addView(linearLayout);
container.addView(视图);
在活动_main中写入以下内容:
此线性id来自何处?“容器=(LinearLayout)findViewById(R.id.Linear);”