2009-07-09 200 views

回答

11
OnClickListener onClickListener = new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     startActivity(new Intent(action)); 
    } 
}; 

Button button = (Button) findViewById(id); 
button.setOnClickListener(onClickListener); 
+4

哦天啊......代碼格式化! – 2009-08-11 22:42:29

+0

'id'是什麼? – Michel 2011-08-09 08:02:30

16
Button x.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) 
       { 
        Intent i = new Intent(y.this, Activity.class); 
        startActivity(i);     
       } 
     }); 

這裏我們定義按鈕X的監聽器。操作系統將調用此方法並啓動Intent i中引用的Activity。

下面是官方教程例如: http://developer.android.com/guide/tutorials/notepad/notepad-ex2.html

4
final Context cont = this; 
Button btnClickABC =(Button)findViewById(R.id.btnClickABC); 
btnClickABC.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) {     
       startActivity(new Intent(cont, NextActivity.class)); 

      } 
     }); 
1
startActivity(new Intent(this,newActivity.class)); 
5
public void onClick(View v) 
{ 
    Intent myintent = new Intent(currentclass.this, nextactivity.class); 
    startActivity(myintent);        
} 
3

使用以下code..I希望這會幫助你。

Button button = (Button)findViewById(R.id.xxx); 
    button .setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
     Intent intent=new Intent(CurrentActivity.this,NextActivity.class); 
     startActivity(intent); 
     } 
    }); 

XXX是從你的按鈕的XML ID。

8
Button btn = (Button)findViewById(R.id.button1); 

btn.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) {  

     startActivity(new Intent(TestActivity.this,second.class)); 

    } 
}); 
3

這個任務可以使用命名爲意圖在Android的主要構造塊之一,其中一個屬於你的Activity類中的方法public void startActivity (Intent intent)來完成。

意圖是要執行的操作的抽象描述。它可以與startActivity一起使用以啓動一個Activity,broadcastIntent將其發送給任何感興趣的BroadcastReceiver組件,並使用startService(Intent)或bindService(Intent,ServiceConnection,int)與後臺服務進行通信。

Intent提供了一種工具,用於在不同應用程序中的代碼之間執行延遲的運行時綁定。其最重要的用途是開展活動,在活動中它可以被認爲是活動之間的膠水。它基本上是一個被動數據結構,它包含要執行的操作的抽象描述。

請參考官方文檔 - http://developer.android.com/reference/android/content/Intent.html

public void startActivity (Intent intent) - 用來啓動一個新的活動。

因此,假設你有兩個Activity類和點擊一個按鈕的OnClickListener()你從一個活動想移動到另一個則 -

  1. PresentActivity - 這是你當前活動的要去第二次活動。

  2. NextActivity - 這是您想要移動的下一個活動。

因此該意圖會是這樣

Intent(PresentActivity.this, NextActivity.class) 

最後這將是完整的代碼

public class PresentActivity extends Activity { 
     protected void onCreate(Bundle icicle) { 
      super.onCreate(icicle); 

      setContentView(R.layout.content_layout_id); 

      final Button button = (Button) findViewById(R.id.button_id); 
      button.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        // Perform action on click 

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

        // currentContext.startActivity(activityChangeIntent); 

        PresentActivity.this.startActivity(activityChangeIntent); 
       } 
      }); 
     } 
    } 

這exmple有關點擊鏈接,你可以在任何地方這是使用代碼寫在裏面的按鈕點擊的OnClickListener()在你想要在你的活動之間切換的任何地方。

0

從一個活動切換到另一個活動非常簡單,但對於新活動很棘手。 您的下一個班級必須在AndroidManifest.xml中定義。這是測試人員類別:

<activity 
    android:name=".Tester" 
    android:label="@string/title_activity_tester" >`enter code here` 
</activity> 


final Button button = (Button) findViewById(R.id.btnGo);// btnGo is id 
button.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     Intent i = new Intent(CurrentClass.this, Tester.class); 
     startActivity(i); 
    } 
相關問題