2009-07-09 16 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

Oh god ...コードフォーマットです! –

+0

「id」とは何ですか? – Michel

+0

これはコンポーネントのIDです。 –

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

ここでは、ボタンのxのリスナーを定義しました。 OSはこのメソッドを呼び出し、インテントiで参照されているアクティビティを開始します。

ここでは公式のチュートリアルの例です:code..I以下 http://developer.android.com/guide/tutorials/notepad/notepad-ex2.html

+0

ありがとう、それは本当に私に役立ちます.. – Kumar

+2

待って、これもコンパイルしますか? – vidstige

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

使用すると、これはあなたを助けることを願っています。

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

このタスクは、インテントとして名前アンドロイドのメインビルディングブロックの1とあなたのActivityクラスに属するメソッドpublic void startActivity (Intent intent)の一つを用いて達成することができます。

インテントは、実行される操作の抽象的な記述です。 startActivityを使用してActivityを起動し、関心のあるBroadcastReceiverコンポーネントに送るためのbroadcastIntent、およびstartService(Intent)またはbindService(Intent、ServiceConnection、int)を使用して、バックグラウンドサービスと通信することができます。

インテントは、さまざまなアプリケーションのコード間で遅延ランタイムバインディングを実行するための機能を提供します。その最も重要な用途は、活動の開始であり、活動の間の接着剤と考えることができます。基本的には、実行されるアクションの抽象的な記述を保持するパッシブなデータ構造です。 http://developer.android.com/reference/android/content/Intent.html

public void startActivity (Intent intent) - - 新しいアクティビティを起動するために使用される

は、公式ドキュメントを参照してください。あなたがしたいから、これはあなたの現在の活動である -

  1. PresentActivity -

    だから、あなたは、2つのActivityクラスと別の活動からのボタンクリックのOnClickListener()あなたたい移動中があるとし2番目の活動に行く。

  2. 次のアクティビティ - あなたが移動したい次のアクティビティです。

だから意図は、あなたがどこにでもあるコードを使用することができますクリックしてください最後に、これはこれexmpleはボタンに関連している

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

完全なコードになります。この

Intent(PresentActivity.this, NextActivity.class) 

ようになりますアクティビティを切り替える任意の場所で、ボタン内のOnClickListener()の内側に書かれています。

0

1つのアクティビティから別のアクティビティへ切り替えるのは本当に簡単ですが、新しいアクティビティは難しいです。 次のクラスは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); 
    } 
関連する問題