这就是我现在所拥有的:
当我点击添加课程时,我想要另一个按钮直接显示在“添加课程”上方。按钮。单击此新创建的按钮将切换到显示该类的所有分配的活动(新按钮)。我想我知道如何做到这一点,但只是最基本的形式。
我想我确实有三件事我不确定:
1)如何通过java在xml文件中的特定位置添加按钮?
2)如何添加带有唯一标识符的按钮?
3)如何点击新创建的按钮以打开一个新活动,该活动仅显示该按钮的分配?
这是我的xml布局目前的样子:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#7BEDFC" >
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/mLlayoutBottomButtons"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="#FFFFFF"
android:text="Classes"
android:textStyle="bold"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@drawable/roundedcorners"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:textStyle="bold"
android:drawableRight="@drawable/rightarrow"
android:gravity="left|center_vertical"
android:text=" Math" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/roundedcorners"
android:textStyle="bold"
android:padding="10dp"
android:text="Add a Class" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
答案 0 :(得分:0)
你想添加我猜想的linearLayout按钮(id mLlayoutBottomButtons)。在您的活动中,您可以这样做:
LinearLayout buttonsLayout = (LinearLayout) findViewById(R.id.mLlayoutBottomButtons);
您将动态创建按钮,可以给它一个id(button.setId(int id)),但这不是必需的。只需像这样创建和添加
Button newButton = new Button(this);
newButton.setText("New button");
buttonsLayout.addView(newButton, parentView.getChildCount() - 2); //see Edit at end of post
现在我们创建了按钮并将其添加到布局中。最后一步,您只需将OnClickListener设置为此按钮即可。在onClick方法中,您可以使用intent启动活动并添加Extras,以确定应在下一个Acitivty中显示哪个分配。
Intent intent = new Intent(CurrentActivity.this, TargetActivity.class);
intent.putExtra("assignmentType", "theNewButtonsAssignments");
startActivity(intent);
在新的Activity中调用getIntent()。getStringExtra(“assignmentType”)来检索应该显示哪个赋值。
编辑: 您可以使用addView(View child,int index)将其插入linearLayout内的特定位置。