我想要一个非常简单的按钮,带有一些解释/可视化的东西,也许是 onCreate/onLauncher 来做让你微笑的事情!我在这里尝试过按钮,但在这里出错,如果有人可以指导我找到一个关于 Android 中按钮的现成可用示例,这可能是最简单的。历史显示了 R 和 XML 文件的问题,如果有人能清楚地说明如何做到这一点,这可能是最简单的:一个非常简单的按钮。它的目录树等?
请提供一个关于 Android 中按钮的简单示例,仅此而已。
进入按钮的 xml 并设置“runClient”的 onClick 属性。
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:onClick="runClient"
android:text="=)" />
您应该在 Eclipse 中看到类似的内容。
这是一个示例 android 项目文件树。突出显示的是 layout.xml 应该在的位置。
首先,让我们看看您的test.java
,它不会按原样工作。我希望您了解面向对象编程的基本概念并摆脱静态方法。
在 Android 中有一个Activity
需要扩展的类。如果您遵循Lazy Ninja 的回答,Eclipse 插件可能已经为您创建了该插件(它可能被称为MainActivity.java
)。简单地说,一个活动代表你应用程序中的一个视图。在您的简单示例中,大多数(如果不是全部)您的代码都属于该类。
在 Android 中,您不使用public static void main(String[] args)
,而是覆盖活动的onCreate
方法。在AndroidManifest.xml
您定义您的活动(此时您只需要一个)以及哪个是您的应用程序启动时启动的活动,以及哪个是onCreate
整个应用程序的起点(再次参见 Eclipse 创建的结构)。
onCreate
您应该setContentView
使用您希望在该活动中使用的布局进行调用。布局setContentView
作为来自生成的 R 类的整数参数提供给 ,就像R.layout.layout_file_name
映射到 .xml 文件中的 XML 文件一样res/layout/layout_file_name.xml
。
布局文件是包含所需布局声明的文件。在您的情况下,它可能具有 aLinearLayout
作为根元素和两个Button
s。
在您的主要活动中使用如下内容:
//Part of onCreate
Button b1;
setContentView(whatever.it.is);
b1 = (Button)findViewById(R.id.buttonID);
b1.setOnClickListener(buttonAddOnClickListener);
//Outside of onCreate, on its own
Button.OnClickListener buttonAddOnClickListener = new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
//Switch statement so you don't have to use a lot of click listeners
switch (arg0.getId()) {
case R.id.b1:
doSomething();
case R.id.b2:
doSomethingElse();
}
}
};
在您的 XML 中,当您实现按钮时,请确保添加以下内容:
android:id="@+id/anID"
将 anID 更改为您想要的 id。
此外,我更喜欢 IntelliJ ( http://www.jetbrains.com/idea/ ) 进行 Android 编程。您的 XML 应位于名为“res”的文件夹中,然后位于子目录“layout”中。如果您没有看到这些文件夹,您的项目可能没有正确设置。
逐步回答您的问题:
XML 文件的每个视图都有一个 id。当你第一次创建一个 android 项目时。主要活动已经使用活动类的方法设置了您的第一个应用程序的内容视图。
setContentView(R.layout.main)
-layout - 表示 /res 文件夹中的布局文件夹 -main - 表示 /res/layout 文件夹中的 XML 文件。
您可以通过android 文档了解更多信息
制作按钮或任何其他 Android GUI 的最简单方法是使用 REBOL 3:
REBOL []
load-gui
view [button "Click Me" on-action [request "" "Clicked!"]]
这是一个功能齐全的 GUI 程序,具有核心 REBOL 语言的所有功能,可用于网络、列表处理、文本解析、文件管理等。该程序以及 R3 的任何其他程序都将在 Android 和桌面操作系统上运行,使用完全相同的代码。看一眼:
http://rebolforum.com/index.cgi?f=printtopic&permalink=Nick25-Aug-2013/10:08:38-7:00&archiveflag=new
日食
在那里,您将拥有您的 android 项目文件。您的布局 xml 文件将是 res -> 布局文件夹。
我认为您应该阅读Android 培训以帮助您入门。
看起来您更新的信息和代码没有正确初始化按钮。
不需要这条线:
setContentView(myButton1);
什么 setContentView(); 它是否设置了xml视图。
Button myButton1 = (Button) findViewById(R.id.button1);
上面这行是对你真正有好处的。您现在可以使用:
myButton1.setOnClickListener(buttonListener);
Button.OnClickListener buttonListener = new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
//Switch statement so you don't have to use a lot of click listeners
switch (arg0.getId()) {
case R.id.myButton1:
doSomething();
case R.id.b2:
doSomethingElse();
}
}
};
此外,您设置的代码不是 Android 设置。您正在使用
public static void main(String[] args)
您不希望在 Android 项目中使用它。请观看一些有关如何正确设置的视频。这一行:
Button myButton1 = (Button) findViewById(R.id.button1);
出现错误,因为您的 IDE 现在不知道“R”,因为项目设置不正确。一旦你这样做了,你的很多问题都会得到解决。您将运行它而不是通过 main(String[] args)、onCreate() 等来运行它......我再次强烈推荐 IntelliJ,它使设置 Android 项目变得非常容易,甚至比 Eclipse 更容易。