我在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并添加此字段?或者我可以自动理解吗?
答案 0 :(得分: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文件。