2013-05-19 6 views
12

Android開発の初心者です。私はOnClickListenerメソッドで新しいActivityを開こうとしています。何を書いて、どうすればOnClickListenerメソッドが動作するのですか?AndroidボタンonClickListener

+0

意図インテント=新しいインテント(this、NewActivit.class);開始行動(意図); –

+0

pleaeここで質問をする前にいくつかの調査を行います –

答えて

31

このタスクは、インテントとして指定されたアンドロイドのメインビルディングブロックと、アクティビティクラスに属するメソッドpublic void startActivity (Intent intent)のうちの1つを使用して実行できます。

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

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

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

は、公式ドキュメントを参照してください。

だから、2つのActivityクラスがあるとします -

  1. PresentActivity - これは第二の活動を行ってみたい、そこからあなたの現在の活動です。

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

だから、意図は最後に、これは私はあなたが今理解し、あなたはどんな問題に直面している場合は取り戻すことができることを望む完全なコード

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) 

ようになります私にはここだけです。常に喜んで助けてください。

1

簡単:

発射活動(のonclickハンドラ)新しい活動に

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class); 
myIntent.putExtra("key", value); //Optional parameters 
CurrentActivity.this.startActivity(myIntent); 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
Intent intent = getIntent(); 
String value = intent.getStringExtra("key"); //if it's a string you stored. 

とのAndroidManifest.xmlに新しいアクティビティを追加します。

<activity android:label="@string/app_name" android:name="NextActivity"/> 
10
//create a variable that contain your button 
Button button = (Button) findViewById(R.id.button); 

    button.setOnClickListener(new OnClickListener(){ 
     @Override 
     //On click function 
     public void onClick(View view) { 
      //Create the intent to start another activity 
      Intent intent = new Intent(view.getContext(), AnotherActivity.class); 
      startActivity(intent); 
     } 
    }); 
3

を使用するか、新しいレイアウトを開くボタンのxmlコードにandroid:onClick = "myMethod"を使用することができます。そのボタンをクリックすると、myMethodという関数が自動的に呼び出されます。 myMethod関数は、このようになります。

public void myMethod(View v) { 
Intent intent=new Intent(context,SecondActivty.class); 
startActivity(intent); 
} 

そして、SecondActivity.classはcontentviewに新しいレイアウトを設定します。

関連する問題