1

我最近开始在 Eclipse 中编码,但我还没有做太多,所以这或多或少是我的第一个应用程序。我正在尝试让我的学校日程安排,这很简单:第一个活动显示 5 个按钮,每个按钮通向一个新活动(周一至周五)。

我将如何制作以便当我单击某个按钮时会弹出一个新活动(比如说星期一)?

我已经在这里看到了数百个这样的问题,但我就是不明白。如果我仍然不明白发生了什么,从这里复制和粘贴代码是没有用的。我知道我必须创建一个新的意图和按钮侦听器,但我只是不明白它的用途和用途。

有人可以尽可能详细地向我解释一下使用按钮在活动之间切换的确切工作原理以及实际操作方式吗?

我有:

  • MainActivity.java
  • 星期一.java
  • 5 个按钮(按钮 1-5)

那么我将如何编码 button1 以从 MainActivity.java 切换到 Monday.java?

4

3 回答 3

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您刚刚单击的参数执行。

有关意图的详细信息以及它们在此处的工作方式

正如@Edward 指出的那样,不要忘记在元素下的AndroidManifest.xml文件中添加新活动application,例如:

<activity android:name=".Monday" android:label="@string/app_name"></activity>
于 2013-06-05T17:38:39.160 回答
0

您应该做的是创建一个Intent可以触发您Activity的代码:

startActivity(new Intent(YourCurrentActivity.this, Monday.class));

您必须Intent在每个按钮上触发一个不同的按钮来创建相应的Activity. 当然不要忘记Activity在清单文件中声明您的 s 。

于 2013-06-05T17:37:13.703 回答
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);
}

这是改变活动的方式。

于 2013-06-05T17:51:18.587 回答