Android 添加按钮
我想创建一个新按钮。此代码在我的主要活动中Android 添加按钮,android,eclipse,button,Android,Eclipse,Button,我想创建一个新按钮。此代码在我的主要活动中 public void method1 (View view) { Button myButton = new Button(this); myButton.setText("Press Me"); LinearLayout layout = (LinearLayout) findViewById(R.id.layout1); layout.addView(myButton); } 我在R.id.layout上收到一个
public void method1 (View view)
{
Button myButton = new Button(this);
myButton.setText("Press Me");
LinearLayout layout = (LinearLayout) findViewById(R.id.layout1);
layout.addView(myButton);
}
我在R.id.layout
上收到一个错误,说layout
无法解析或不是字段。我怎样才能修好它?我是安卓系统的新手
//编辑
我的acitvity_main.xml如下所示
<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: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/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginTop="20dp"
android:onClick="neuerTrainingsplan"
android:text="@string/neuerPlan" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button2"
android:layout_alignBottom="@+id/button2"
android:layout_toLeftOf="@+id/button2"
android:onClick="TrainingsplanAbrufen"
android:text="@string/TrainingsplanAbrufen" />
该错误表示您尚未声明id为
layout1
的布局。如果您已经检查了从类的导入,以便导入正确的R
类。应该是yourpackage.R
而不是android.R
确保在xml文件中设置了线性布局。它的android:id是layout1
<LinearLayout android:id="@+id/layout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
将其添加到布局文件中。如果不显示进一步的代码,几乎不可能给出准确的答案。在调用
setContentView(…)
的位置发布代码,并发布XML布局文件。看起来和你的一样。并确保活动的onCreate()
中包含此代码。执行上述操作时,需要为布局分配一个id。将此添加到您的.xml文件android:id=“@+id/layout1”我没有声明它:(.我必须在哪里声明它以及如何声明它?在作为参数传递给的相同布局中setContentView@blackbelt:不要建议人们导入他们自己的包的R.java。这是隐式完成的。@Squonk这并不总是正确的。有时eclipse导入android.R one,我看到很多人问为什么你不能引用他们的id,当他们实际声明it@blackbelt:我不是说导入了android.R的情况(不应该这样做)。我的意思是没有必要为您自己的软件包显式导入R.java
。如果您使用不同的软件包,您可能需要这样做,但主软件包中的任何Android类都将隐式访问R
类,而无需导入,如果显式导入,则可能会出现问题orted.你会在哪里添加它?我对这个很陌生:在你的布局文件中。你在setcontentview(layoutfile.xml)中使用的,我将它添加到activity_main.xml文件中,它说,使用android:orientation=“vertical”它仍然说没有指定方向:/