繁体   English   中英

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

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

我是编码新手,当我的主“活动”页面上有一系列按钮时,我正在尝试处理一个项目。 我希望从这些按钮中打开一个不同的活动或命令。 我一直在搜索,发现我认为应该工作的内容,但是没有。 加载应用程序然后单击按钮时,我崩溃了。 下面是代码。 任何表示我的错误的地方的指针,将不胜感激。

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/")));
    }
};




        {
}





}

在应用清单文件中提及您的所有活动(如下所示):

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

并尝试执行以下操作:

@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开发人员

来自开发人员站点的样本

    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
        }
    });

另一个如何使用onclick的好例子

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM