简体   繁体   English

多个按钮,每个按钮选择一个不同的活动

[英]Multiple buttons w/ each selecting a different Activity

I am new to coding and am trying to work on a project when my main Activity page has a series of buttons. 我是编码新手,当我的主“活动”页面上有一系列按钮时,我正在尝试处理一个项目。 From these buttons I would like each to open a different activity or command. 我希望从这些按钮中打开一个不同的活动或命令。 I been searching and found what I thought SHOULD work, however, it does not. 我一直在搜索,发现我认为应该工作的内容,但是没有。 I get a crash when it comes loading the app and then clicking on the button. 加载应用程序然后单击按钮时,我崩溃了。 Below is the code. 下面是代码。 Any pointers to show my mistake somewhere would be kindly appreciated. 任何表示我的错误的地方的指针,将不胜感激。

package com.example.finalproject2;


import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //Initialize Buttons
    Button b1 = (Button) findViewById(R.id.button1);
    Button b2 = (Button) findViewById(R.id.button02);
    Button b3 = (Button) findViewById(R.id.button03);
    Button b4 = (Button) findViewById(R.id.button01);
    Button b5 = (Button) findViewById(R.id.button04);

    //Set OnCLickListeners
    b1.setOnClickListener(chicagoListener); 
    b2.setOnClickListener(sanJoseListener); 
    b3.setOnClickListener(baltimoreListener); 
    b4.setOnClickListener(westPalmBeachListener);   
    b5.setOnClickListener(websiteListener); }

private OnClickListener chicagoListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        startActivity(new Intent(MainActivity.this, Chicago.class));
    }
};
private OnClickListener sanJoseListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        startActivity(new Intent(MainActivity.this, SanJose.class));
    }
};

private OnClickListener baltimoreListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        startActivity(new Intent(MainActivity.this, Baltimore.class));
    }
};
private OnClickListener westPalmBeachListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        startActivity(new Intent(MainActivity.this, WestPalmBeach.class));
    }
};
private OnClickListener websiteListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
       startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse ("http://www.google.com/")));
    }
};




        {
}





}

Mention your all activity in your app manifesto file (like this): 在应用清单文件中提及您的所有活动(如下所示):

<activity
      android:name="com.example.finalproject2.Chicago"
      android:label="@string/app_name" >
</activity>

And try to do somthing like this: 并尝试执行以下操作:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    b1.setOnClickListener(this); 
    b2.setOnClickListener(this); 
    b3.setOnClickListener(this); 
    b4.setOnClickListener(this);   
    b5.setOnClickListener(this);
}



@Override
public void onClick(View v) {
    switch(v.getId()){
    case R.id.button1:
        startActivity(new Intent(MainActivity.this, Chicago.class));
        break;

    case R.id.button02:
        startActivity(new Intent(MainActivity.this, SanJose.class));
        break;

    case R.id.button03:
        startActivity(new Intent(MainActivity.this, Baltimore.class));
        break;

    case R.id.button01:
        startActivity(new Intent(MainActivity.this, WestPalmBeach.class));
        break;

    case R.id.button04:
        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse ("http://www.google.com/")));
        break;  

    }
}

Button - Android developer Button-Android开发人员

sample from developer site 来自开发人员站点的样本

    Button button = (Button) findViewById(R.id.button_send);
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
         // Do something in response to button click
        }
    });

another good example of how to use onclick 另一个如何使用onclick的好例子

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 三个按钮,每个按钮以不同的Int启动相同的Activity。 但是,当选择任何按钮时,它将加载所有3个活动 - Three buttons, each start the same Activity with a different Int. But when selecting any button, it loads all 3 Activities StartActivityForResult 用于多个按钮访问一个活动并在选择时获取不同的数据? - StartActivityForResult for multiple buttons accessing one activity and getting different datas on selection? Android:不同按钮的活动相同,但动作不同 - Android: Same activity for different buttons, but different actions 为具有不同资源的不同按钮启动相同的活动 - Launch the same activity for different buttons with different resource 具有不同布局的多个按钮 - Multiple buttons with different layouts 从按钮中选择多个正确答案 - Selecting multiple correct answers from buttons 为每个卡片视图打开 1 个不同的活动 - Open 1 different activity for each cardview JOptionPane每行有多个按钮? - JOptionPane with multiple buttons on each line? 单页中的多个按钮将每个按钮导航到android studio中的不同页面 - Multiple buttons in single page navigating each button to different page in android studio 如何将多个按钮从一个活动添加到Android中的不同活动 - How to add multple buttons from one activity to an a different to activity in android
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM