Android 安卓Eclipse-点击后创建另一个按钮的按钮
我正在尝试创建一个android应用程序,用户可以在其中划分他们在大学每一年所学的课程。我们的想法是在一个带有“添加年份”按钮的屏幕上打开一个按钮,当它被点击时,它会在上面或下面创建一个按钮(其实并不重要),他们可以为它创建一个自定义名称。“添加年份”按钮必须保持不变,以便他们可以根据需要添加任意数量的年份/学期/w/e。 我一直在学习本教程: 忽略有关添加文本字段的部分。当它得到关于使按钮执行某些操作的部分时,教程将获取用户输入的文本并以新的xml显示 我在java方面的经验很少,每当我陷入困境时,我都会求助于谷歌,但我还没有找到任何有助于我解决困境的方法。 这是我的activity_main.xml文件:Android 安卓Eclipse-点击后创建另一个按钮的按钮,android,eclipse,button,onclick,android-widget,Android,Eclipse,Button,Onclick,Android Widget,我正在尝试创建一个android应用程序,用户可以在其中划分他们在大学每一年所学的课程。我们的想法是在一个带有“添加年份”按钮的屏幕上打开一个按钮,当它被点击时,它会在上面或下面创建一个按钮(其实并不重要),他们可以为它创建一个自定义名称。“添加年份”按钮必须保持不变,以便他们可以根据需要添加任意数量的年份/学期/w/e。 我一直在学习本教程: 忽略有关添加文本字段的部分。当它得到关于使按钮执行某些操作的部分时,教程将获取用户输入的文本并以新的xml显示 我在java方面的经验很少,每当我陷入困
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/main_background"
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=".MainActivity" >
<Button
android:id="@+id/button_add_year"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="39dp"
android:text="@string/button_add_year"
android:onClick="addYear" />
</RelativeLayout>
请帮帮我!我必须在这个星期三演讲,我被卡住了!!D:要添加新的
按钮
,您可以使用以下命令以编程方式创建它
addYearButton = (Button) findViewById(R.id.add);
addYearButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
//when addYear is clicked show the new button
Button b = new Button(v.getContext()); // create Button
b.setText("Some text on Button"); // Set the text of the Button
// set params and add button to layout
}
});
第二个答案显示了如何添加按钮
,并向其添加参数
,例如高度
和宽度
。另见
如果您需要一个不确定数量的按钮
s,具体取决于单击按钮
的次数,那么您可能需要使用此按钮。如果您有一些可添加的按钮
s的设置数量,则更改可见性
将起作用
编辑
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addYearButton = (Button) findViewById(R.id.add);
}
在这里,您应该初始化第一个
按钮
,并使用按钮addYearButton在onCreate()之前声明它代码>。另外,您需要在activity_main.xml
中使用id
的按钮,添加,要添加一个新的按钮
,您可以使用类似
addYearButton = (Button) findViewById(R.id.add);
addYearButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
//when addYear is clicked show the new button
Button b = new Button(v.getContext()); // create Button
b.setText("Some text on Button"); // Set the text of the Button
// set params and add button to layout
}
});
第二个答案显示了如何添加按钮
,并向其添加参数
,例如高度
和宽度
。另见
如果您需要一个不确定数量的按钮
s,具体取决于单击按钮
的次数,那么您可能需要使用此按钮。如果您有一些可添加的按钮
s的设置数量,则更改可见性
将起作用
编辑
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addYearButton = (Button) findViewById(R.id.add);
}
在这里,您应该初始化第一个按钮
,并使用按钮addYearButton在onCreate()之前声明它代码>。此外,您还需要在activity_main.xml
中使用id
的按钮,添加,最简单的方法是隐藏第二个按钮,然后单击第一个按钮,使第二个按钮可见,然后使用此按钮使第二个按钮不可见
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="2ndButton"
android:visibility="invisible" />
最简单的方法是隐藏第二个按钮,然后单击第一个按钮,使第二个按钮可见,然后使用此按钮使第二个按钮不可见
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="2ndButton"
android:visibility="invisible" />
到底是什么问题?什么是/不工作?它现在工作,但我不知道如何使按钮在同一屏幕上创建另一个按钮。它调用CreateNewYear.class,但是这个类是空的,因为我不知道从哪里开始,到底是什么问题?什么是/不工作?它现在工作,但我不知道如何使按钮在同一屏幕上创建另一个按钮。它调用CreateNewYear.class,但该类为空,因为我不知道从那里开始,这与2小时前给出的答案相同。@user251182不,不是。我正在演示如何以编程方式(而不是通过xml)添加按钮。这是一种完全不同的方法,而不仅仅是更改预先构建的按钮的可见性?因为当我把它放在java中时,它会给我一条错误消息,在第一个AddYearButton下面划线。这段代码会出现在java代码中,但您仍然需要xmlR.id中的add
按钮。add给了我问题,这与2小时前给出的答案相同。@user251182不,不是。我正在演示如何以编程方式(而不是通过xml)添加按钮。这是一种完全不同的方法,而不仅仅是更改预先构建的按钮的可见性?因为当我把它放在java中时,它会给我一条错误消息,在第一个AddYearButton下面划线。这段代码会在java代码中,但您仍然需要xmlR.id中的add
按钮。add给了我一个问题我能用if语句让它添加后续的按钮吗?类似于if(2ndbutton.visibility==true)3rdButton.setVisibility(view.visibility)?是否可以使用if语句使其添加后续按钮?类似于if(2ndbutton.visibility==true)3rdButton.setVisibility(view.visibility)?