我最近开始使用Eclipse进行编码,但我还没有做太多,所以这或多或少是我的第一个应用程序。我正在尝试让我的学校计划,这很简单:第一个活动显示5个按钮,每个按钮导致一个新的活动(星期一 - 星期五)。
我如何制作,当我点击某个按钮时,会弹出一个新活动(比方说星期一)?
我已经看到过数百个这样的问题已经在这里问过并回答了,但我还是没有得到它。复制和复制是没用的。如果我仍然没有得到正在发生的事情,请从这里粘贴代码。我知道我必须创建一个新的intent和buttonlistener,但我只是不知道它为什么以及该做什么。
有人可以向我解释一下,如何详细说明如何使用按钮完成切换工作以及如何实际操作?
我有:
那么我如何将button1编码为从MainActivity.java切换到Monday.java?
答案 0 :(得分:1)
首先将android:onClick="onClick"
添加到每个按钮的XML元素中。这将使您的按钮在触发onClick事件时执行onClick
方法。
然后在MainActivity
课程中添加以下方法:
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
// Monday
Intent intent = new Intent(MainActivity.this, Monday.class);
startActivity(intent);
break;
case R.id.button2:
// Tuesday
Intent intent = new Intent(MainActivity.this, Tuesday.class);
startActivity(intent);
break;
// the rest of the buttons go here
default: Log.e("YourTAG", "Default in onClick hit!");
break;
}
}
因此,每当您的五个按钮中的任何一个出现onClick
事件时,上面的onClick
方法将使用代表您刚刚点击的View
的参数执行。
详细说明意图及其工作原理here
正如@Edward所说,不要忘记在{em> AndroidManifest.xml 文件中添加application
元素下的新活动,例如:
<activity android:name=".Monday" android:label="@string/app_name"></activity>
答案 1 :(得分:0)
你应该做的是创建一个Intent
,用这个代码激活你Activity
你做的那样:
startActivity(new Intent(YourCurrentActivity.this, Monday.class));
您必须在每个按钮上触发不同的Intent
,以创建相应的Activity
。
当然不要忘记在清单文件中声明Activity
。
答案 2 :(得分:0)
行。假设您在布局文件中有以下按钮: -
<Button
android:id="@+id/my_btn"
android:layout_width="55dp"
android:layout_height="22dp"
android:onClick="goToMonday" // function name which will be in MainActivity.java
/>
现在在你的MainActivity.java中: -
public void goToMonday(View v){
Intent monday_intent = new Intent(MainActivity.this, Monday.class);
MainActivity.this.startActivity(monday_intent);
}
这是改变活动的方法。