簡體   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