Android 为什么以编程方式添加按钮的代码不起作用?
我试图通过编程方式将一些按钮添加到相对布局中。我使用了在StackOverflow上看到的一些示例,但由于某些原因我无法理解,我的代码不起作用:我想让我的按钮一个接一个,但它们最终是一个接一个。 这是我的布局文件:Android 为什么以编程方式添加按钮的代码不起作用?,android,Android,我试图通过编程方式将一些按钮添加到相对布局中。我使用了在StackOverflow上看到的一些示例,但由于某些原因我无法理解,我的代码不起作用:我想让我的按钮一个接一个,但它们最终是一个接一个。 这是我的布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:i
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.android.myApp.MainActivity" >
</RelativeLayout>
签出此代码…希望这会有所帮助 mLayout=(RelativeLayout)findViewById(R.id.mainLayout); RelativeLayout.LayoutParams lprams=新的RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_内容, RelativeLayout.LayoutParams.WRAP_内容)
使用线性布局,而不是相对布局。我可以尝试一下,但我仍然不明白我的代码出了什么问题……问题出在这行
lprams.addRule(RelativeLayout.down,0)代码>更像这样:p.addRule(RelativeLayout.ALIGN_BOTTOM,tv.getId());不,我仍然有同样的问题。你能用不同的ID检查一下第一个按钮“0”吗?Asmita,你发布的新版本可以正常工作。看来问题确实出在价值观上。不知道为什么0和1或1和2不起作用。谢谢!!
mLayout = (RelativeLayout) findViewById(R.id.mainLayout);
RelativeLayout.LayoutParams lprams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
Button btnTag = new Button(this);
btnTag.setText("Button0");
btnTag.setId(0);
btnTag.setOnClickListener(mGlobalOnCLickListener);
mLayout.addView(btnTag, lprams);
lprams.addRule(RelativeLayout.BELOW, 0);
btnTag = new Button(this);
btnTag.setText("Button2");
btnTag.setId(1);
btnTag.setOnClickListener(mGlobalOnCLickListener);
mLayout.addView(btnTag, lprams);
Button btnTag = new Button(this);
btnTag.setText("Button0");
btnTag.setId(10);
btnTag.setOnClickListener(mGlobalOnCLickListener);
mLayout.addView(btnTag, lprams);
lprams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
lprams.addRule(RelativeLayout.BELOW, 10);
btnTag = new Button(this);
btnTag.setText("Button2");
btnTag.setId(1);
btnTag.setOnClickListener(mGlobalOnCLickListener);
mLayout.addView(btnTag, lprams);