-3

我正在用 android 编写一个简单的应用程序,我遇到了这个问题:

首先,我使用 imageButtons 从位于我的res/layout目录中的 .xml 文件中加载图像。关键是:我可以将它们作为 Java 中的普通按钮处理吗?我的意思是在某个地方实例化了吗?

因为当我稍后使用时,onClickListeners我希望它们在单击时触发一个事件(.xml在另一个文件中加载另一个.java文件)。

还有其他事情:在我的某个地方,我MAinActivity.java有这些代码行:

Button imageButton2 = (Button) findViewById(R.id.imageButton2);
imageButton2.setOnClickListener(this);

到底有什么用findviewById

我是否必须R.Java找到类 ID 并添加此字段?或者我可以自动理解它吗?

4

1 回答 1

1

findViewById()正在查找某某对象(在本例中为图像按钮)的“id”,并将该 XML 与您当前正在查看的 Java 代码相关联。您需要一个 XML 文件(不是 R.java)。Android 应用程序通常具有用于表示和应用程序结构的XML 文件,而Java应该是逻辑和数据库

当我第一次开始编程电话应用程序时,我也感到困惑。但是,作为一名程序员,您希望始终研究您的主题。

在网上看一些简单的例子:

http://www.mkyong.com/android/android-imagebutton-example/

此外,这是一个缓慢而稳定(而且非常详细!)的指南。它将有助于了解 Android 手机应用程序的整体设计和结构。

http://developer.android.com/training/basics/firstapp/index.html

最后,要知道“ R ”到底指的是哪里,你必须看到setContentView()

//you should have this method in your program
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //here is where it decides the exact XML file this Java class refers to.
    setContentView(R.layout.main);

    addListenerOnButton();

}

onCreate() 通常是您要设置上下文的位置(上下文表示您所指的 XML 文件)。然后,该 Java 类中的所有其他方法都将知道查看该 XML 文件。

于 2013-07-05T13:15:21.270 回答