2012-08-09 48 views
-1

我試圖在某些佈局中編程3個可單擊的按鈕。在同一屏幕上編程3個或更多按鈕

  • 發送電子郵件的第一個按鈕。
  • 鏈接到某個網站的第二個按鈕。
  • 第三個按鈕去一些Facebook頁面。

我真的被卡住了,因爲我已經有一個按鈕可以返回到上一個屏幕。我已經打電話:

Intent intent = new Intent(PresentActivity.this, NextActivity.class); 
startActivity(intent); 

在對java文件中的第一個按鈕,老實說,我不知道如何繼續下去,使接下來的三個按鈕的作用。我已經閱讀了一些關於它的教程,但我還沒有明白。也許我的情況很簡單,但我自己開始這樣做。所以我會感謝任何人的幫助。

+0

也許我沒有在正確的地方張貼,..或用正確的標籤(一個或多個)..很遺憾如果我的帖子令人討厭。 – Chapo 2012-08-09 05:17:35

+0

DId是否包含'android'標籤? – 2012-08-09 05:18:23

+0

我真的很抱歉,。我忘了..即時編程我的應用程序在日食.. – Chapo 2012-08-09 05:20:46

回答

0
btn1=(Button)findViewById(R.id.btn1); 
    btn2=(Button)findViewById(R.id.btn2); 
    btn3=(Button)findViewById(R.id.btn3); 

    btn1.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View arg0) { 
      Intent email = new Intent(Intent.ACTION_SEND); 
      email.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});   
      email.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
      email.putExtra(Intent.EXTRA_TEXT, "message"); 
      email.setType("message/rfc822"); 
      startActivity(Intent.createChooser(email, "Choose an Email client :")); 
     } 
    }); 
    btn2.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View arg0) { 
     Uri uri = Uri.parse("http://www.google.com"); 
     startActivity(new Intent(Intent.ACTION_VIEW, uri)); 
     } 
    }); 
    btn3.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View arg0) { 
     Uri uri = Uri.parse("http://www.facebook.com/abc"); 
     startActivity(new Intent(Intent.ACTION_VIEW, uri)); 
     } 
    }); 
+0

如果我有100個按鈕怎麼辦?這是可行和優化的方式來實現這種方式?:) – 2012-08-09 05:51:34

+0

當然不是。只考慮了幾個按鈕。 – 2012-08-09 05:54:10

+0

@ Rahmathullah M Pulikkal:好的,試試看.. – Chapo 2012-08-09 06:03:23

2

以下方式爲優化方式爲View實現Click監聽器。

您可以在XML佈局的每個按鈕中包含android:onClick="myClickHandler"

現在,宣佈活動類,如下內myClickHandler()方法:

public void myClickHandler(View v) 
{ 
    switch(v.getId()) { 
      case R.id.button1: 
      // code to execute on button1 click 
      break; 

      case R.id.button2: 
      // code to execute on button1 click 
      break; 

      case R.id.button3: 
      // code to execute on button1 click 
      break; 

    }  
} 
+0

感謝Paresh Mayani,..爲你的時間和答案.. – Chapo 2012-08-09 05:40:09

+0

我已經試過,但我得到3錯誤: – Chapo 2012-08-09 05:46:41

+0

看,這是優化的方式來實現點擊監聽。讓我知道你有什麼錯誤。 – 2012-08-09 05:48:37