2011-01-21 70 views
1

我的Android應用程序有很多按鈕。如何在一個活動中有多個按鈕

我的main.xml佈局有三個按鈕。

我知道如何使用按鈕從一個活動到另一個活動,但我不知道如何在一個活動上有多個按鈕,每個活動都啓動不同的活動。

main.xml中

Button1的 Button2的

Main2.xml

推出由button1的

About.xml

通過將Button2

推出我如何讓​​main.java文件做到這一點?

回答

6
public class NL extends Activity { 



    public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      Button b1=(Button)findViewById(R.id.Button01); 
      Button b2=(Button)findViewById(R.id.Button02); 
      b1.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       Intent myintent2 = new Intent(NL.this,Button1.class); 
       startActivity(myintent2); 

      } 
     }); 
      b2.setOnClickListener(new View.OnClickListener() { 

       public void onClick(View v) { 
        Intent myintent2 = new Intent(NL.this,Button2.class); 
        startActivity(myintent2); 

       } 
      }); 
    } 
} 

舉動從一個活動到另一個活動使用intent.we寫在按鈕的點擊收聽

+0

完美的作品!非常感謝! – IntelSoftApps 2011-01-21 05:35:13

5

這是一個非常廣泛的問題的代碼,所以我的答案可能會顯得同樣廣泛。

1.)首先要了解的是如何構建佈局。你說你已經有3個按鈕的佈局。在每個按鈕的定義中,您需要指定一個android:id屬性。這是什麼讓你稍後鉤住你的活動按鈕。欲瞭解更多信息,請參閱here

2.)一旦你用android:id定義了3個按鈕(爲了討論起見,可以使用R.id.1,R.id.2和R.id.3) ð要掛鉤的Java對象到您的活動onCreate方法這些元素:

Button button3 = (Button) getViewById(R.id.3) 

這樣做對你的3個按鍵。

3.)下一個步驟是一個onClick聽者附加到按鈕

button3.setOnClickListener(new OnClickListener(){ 
    public void onClick(View v){ 
    //place code to execute here 
    } 
}); 

如同在Java大多數GUI框架,此機構限定被點擊的按鈕時所執行的代碼。如果你想從這個按鈕來啓動一個新的活動,您將創建一個意圖對象,並啓動它想:

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

與延伸要發射活動類的名稱替換TheActivityClassYouWantToLaunch。要了解更多信息,請查看[意向文檔](http://developer.android.com/reference/android/content/Intent.html

1

我知道這個問題早已得到解答,但如果其他人絆倒了它,我想我會提供另一種方法來執行我正在使用的按鈕我自己的代碼是通過使用onClick和View。的onclick在XML文件由下到你想點擊的按鈕並添加行來完成:

android:onClick="title" 

如果標題是java活動類文件,該文件與雲的一部分的名字xml文件。在在java文件,你會再加入到公共類:

public void title(View buttonName) { 
    // Should take user to the next view when button pressed 
    Intent intent1 = new Intent(this, NextClass.class); 
    startActivity(intent1); 
} 

哪裏BUTTONNAME是所添加的的onClick部分按鈕的名稱和NextClass是java文件的名稱要訪問。對於你的例子,在你的Main.xml中,你將下載到button1並添加onClick代碼,然後轉到Main.java並添加公共無效代碼,將標題更改爲任何你想要的,比如launchMain2。在那個相同的.java中,你可以將NextClass.class改爲Main2.class。

我使用這個,因爲我發現很容易只複製和過去它,因爲我有多個頁面,只有我的應用程序的每個頁面上的幾個按鈕。因此,對我來說,這幫助我節省了在應用程序上工作的時間。

0
i use this code 
    ImageButton bot1; 
ImageButton bot2; 
ImageButton bot3; 
ImageButton bot4; 
Intent intentbot1; 
Intent intentbot2; 
    Intent intentbot3; 
    Intent intentbot4; 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.currentactivity); 
    bot1= (ImageButton)findViewById(R.id.bot1); 
    bot2 = (ImageButton)findViewById(R.id.bot2); 
    bot3 = (ImageButton)findViewById(R.id.bot3); 
    bot4 = (ImageButton)findViewById(R.id.bot4); 


{ final Intent intentbot1 = new Intent(); 
     intentbot1.setClass(currentactivity.this, targetactivity.class); 
    bot1.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     startActivity(intentbot1); 
      }});} 
{ 
    final Intent intentbot2 = new Intent(); 
     intentbot2 .setClass(currentactivity.this, targetactivity.class); 
    bot2.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     startActivity(intentbot2); 
      }});} 

{ final Intent intentbot3 = new Intent(); 
intentbot3 .setClass(currentactivity.this, targetactivity.class); 
bot3.setOnClickListener(new OnClickListener() { 
public void onClick(View v) { 
startActivity(intentbot3); 
     }}); 
    } 
{ final Intent intentbot4 = new Intent(); 
intentbot4 .setClass(currentactivity.this, targetactivity.class); 
bot4.setOnClickListener(new OnClickListener() { 
public void onClick(View v) { 
startActivity(intentbot4); 
     }}); 
    } 
} 
相關問題