Android 单击按钮时如何启动新的活动?

Android 单击按钮时如何启动新的活动?,android,Android,我已经知道当你点击一个按钮时如何开始一个新的活动,但是我在一个布局上有三个按钮。我希望一个活动上的三个按钮中的每一个都链接到其他三个活动 我有一个名为“主”的活动,按钮1称为“服务”,我想将其链接到“服务”活动。按钮2称为搜索,我希望它转到搜索活动,第三个是“地图”,我希望链接到地图活动 有人能帮我做这个吗?谢谢 编辑:另外,我是Android编码的初学者,你能详细解释一下吗?这很简单,亲爱的。只需将此代码放在按钮单击事件上 Intent myIntent = new Intent(Curren

我已经知道当你点击一个按钮时如何开始一个新的活动,但是我在一个布局上有三个按钮。我希望一个活动上的三个按钮中的每一个都链接到其他三个活动

我有一个名为“主”的活动,按钮1称为“服务”,我想将其链接到“服务”活动。按钮2称为搜索,我希望它转到搜索活动,第三个是“地图”,我希望链接到地图活动

有人能帮我做这个吗?谢谢


编辑:另外,我是Android编码的初学者,你能详细解释一下吗?

这很简单,亲爱的。只需将此代码放在按钮单击事件上

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
CurrentActivity.this.startActivity(myIntent);

这很容易,亲爱的。只需将此代码放在按钮单击事件上

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
CurrentActivity.this.startActivity(myIntent);

那么问题出在哪里呢?只需设置您的类将实现
View.OnClickListener
并重写
onClick()
方法a即可

public class MainActivity extends Activity implements View.OnClickListener {
   // body
}

@Override
public void onClick(View view) {
   switch (view.getId()) {

      case R.id.serviceBtn:
         Intent serviceIntent = new Intent(this, ServiceActivity.class);
         startActivity(serviceIntent);
         break;
      case R.id.searchBtn:
         Intent searchIntent = new Intent(this, SearchActivity.class);
         startActivity(searchIntent);
         break;
      case R.id.mapBtn:
         Intent mapIntent = new Intent(this, MapActivity.class);
         startActivity(mapIntent);
         break;
   } 
}

那么问题出在哪里呢?只需设置您的类将实现
View.OnClickListener
并重写
onClick()
方法a即可

public class MainActivity extends Activity implements View.OnClickListener {
   // body
}

@Override
public void onClick(View view) {
   switch (view.getId()) {

      case R.id.serviceBtn:
         Intent serviceIntent = new Intent(this, ServiceActivity.class);
         startActivity(serviceIntent);
         break;
      case R.id.searchBtn:
         Intent searchIntent = new Intent(this, SearchActivity.class);
         startActivity(searchIntent);
         break;
      case R.id.mapBtn:
         Intent mapIntent = new Intent(this, MapActivity.class);
         startActivity(mapIntent);
         break;
   } 
}

onclick
侦听器绑定到所有三个按钮。在侦听器中,检索按钮的ID。创建一个类型为
Class
的变量。根据按钮ID的值,将其初始化为要调用的活动的类。然后为该类构造一个
Intent
,并调用
startActivity()

为夏威夷编辑。5-0:我会这样做:

@Override
public void onClick(View view) {
   Class c = null;
   switch (view.getId()) {
      case R.id.serviceBtn:
         c = ServiceActivity.class;
         break;
      case R.id.searchBtn:
         c = SearchActivity.class;
         break;
      case R.id.mapBtn:
         c = MapActivity.class;
         break;
   } 
   Intent i = new Intent(YourActivity.this, c);
   startActivity(i);
}
编辑2:

class CurrentActivity extends Activity
    implements OnClickListener  
{
    void onCreate(Bundle b)
    {
        //Other initialization goes here...

        ((Button)findViewById(R.id.MyButton1)).setOnClickListener(this);
        ((Button)findViewById(R.id.MyButton2)).setOnClickListener(this);
        ((Button)findViewById(R.id.MyButton3)).setOnClickListener(this);
    }

}

onclick
侦听器绑定到所有三个按钮。在侦听器中,检索按钮的ID。创建一个类型为
Class
的变量。根据按钮ID的值,将其初始化为要调用的活动的类。然后为该类构造一个
Intent
,并调用
startActivity()

为夏威夷编辑。5-0:我会这样做:

@Override
public void onClick(View view) {
   Class c = null;
   switch (view.getId()) {
      case R.id.serviceBtn:
         c = ServiceActivity.class;
         break;
      case R.id.searchBtn:
         c = SearchActivity.class;
         break;
      case R.id.mapBtn:
         c = MapActivity.class;
         break;
   } 
   Intent i = new Intent(YourActivity.this, c);
   startActivity(i);
}
编辑2:

class CurrentActivity extends Activity
    implements OnClickListener  
{
    void onCreate(Bundle b)
    {
        //Other initialization goes here...

        ((Button)findViewById(R.id.MyButton1)).setOnClickListener(this);
        ((Button)findViewById(R.id.MyButton2)).setOnClickListener(this);
        ((Button)findViewById(R.id.MyButton3)).setOnClickListener(this);
    }

}

单击按钮时,启动新活动非常容易。我已就此举了一个例子

// R.id.btnAdd -> which is present in your layout page
Button btnStart = (Button) findViewById(R.id.btnAdd); // declare button
// declare listener evernt for button
OnClickListener listener = new OnClickListener() {

   @Override
   public void onClick(View v) {
        // declare the Intent for moving another activity
        Intent view = new Intent(YourCurrentClassName.this,
        anotherClassName.class);
        // startActivity is used to navigating the view
        startActivity(view);
    }
};
// set the listener evernt to button
btnStart.setOnClickListener(listener);

单击按钮时,启动新活动非常容易。我已就此举了一个例子

// R.id.btnAdd -> which is present in your layout page
Button btnStart = (Button) findViewById(R.id.btnAdd); // declare button
// declare listener evernt for button
OnClickListener listener = new OnClickListener() {

   @Override
   public void onClick(View v) {
        // declare the Intent for moving another activity
        Intent view = new Intent(YourCurrentClassName.this,
        anotherClassName.class);
        // startActivity is used to navigating the view
        startActivity(view);
    }
};
// set the listener evernt to button
btnStart.setOnClickListener(listener);


-1过度使用复制和粘贴,不理解参数化。什么??你在跟我开玩笑吗?我现在写了这个片段。哦,是的。为什么3次调用intent构造函数和startActivity()?它们只在一个变量上有所不同。和?我也可以对每个按钮的匿名侦听器进行处理,我不知道问题出在哪里,抱歉。+1是一个非常合理的答案。如果每个意图都要求捆绑相同的N-extras,我相信这是个问题。其他任何东西都是多余的。-1因为过度使用复制和粘贴,不理解参数化。什么??你在跟我开玩笑吗?我现在写了这个片段。哦,是的。为什么3次调用intent构造函数和startActivity()?它们只在一个变量上有所不同。和?我也可以对每个按钮的匿名侦听器进行处理,我不知道问题出在哪里,抱歉。+1是一个非常合理的答案。如果每个意图都要求捆绑相同的N-extras,我相信这是个问题。其他任何东西都是多余的。如果单击来自未知ID,则是。但为什么会这样呢?因为这意味着辛格,你的方法是不好的。是的,但是一个听众必须明确地与他们联系,才能收到点击。在这样做的同时,还可以添加对这些ID的处理。回答得好。在触发意图之前,只需检查c是否为null。如何将onClick()侦听器绑定到按钮上?这是在XML文件中完成的还是什么?如果单击来自未知ID,则是。但为什么会这样呢?因为这意味着辛格,你的方法是不好的。是的,但是一个听众必须明确地与他们联系,才能收到点击。在这样做的同时,还可以添加对这些ID的处理。回答得好。在触发意图之前,只需检查c是否为null。如何将onClick()侦听器绑定到按钮上?这是在XML文件中完成的还是什么?谢谢,我在调试应用程序时使用了这个方法。上面说,找不到消息来源,用红色书写。下面是一个按钮,上面写着“编辑源代码查找路径…”“未找到源代码,以红色书写。”(代码的)哪一行?当我将其添加到onClick事件方法时,当我单击该按钮时,它会使应用程序崩溃。我是否必须向NextActivity.class添加一些内容?谢谢,我在调试应用程序时使用了这个方法。上面说,找不到消息来源,用红色书写。下面是一个按钮,上面写着“编辑源代码查找路径…”“未找到源代码,以红色书写。”(代码的)哪一行?当我将其添加到onClick事件方法时,当我单击该按钮时,它会使应用程序崩溃。我是否必须向NextActivity.class添加一些内容?可能重复的可能重复的