2017-01-05 7 views
2

複数のアクティビティを開始するメソッドを作成したいと思います。すべてのボタンにsetOnClickListenerを設定しました。アンドロイドでカスタムスタートアクティビティメソッドを作成するにはどうすればよいですか?

私はこのようなすべての case方法を使用したい

public void startSpecificActivity(Context context) { 
    Intent intent = new Intent(getApplicationContext(), context.class); 
    startActivity(intent); 
} 
+0

何が問題だと思われますか? – Rippr

+0

私のエラーは: 'エラー:(78、61)エラー:シンボルクラスのコンテキストを見つけることができません' –

答えて

5
public void onClick(View view) { 
    switch (view.getId()) { 
     case R.id.firstActivityButton: 
      startSpecificActivity(FirstActivity.class); 
      break; 

     case R.id.secondActivityButton: 
      startSpecificActivity(SecondActivity.class); 
      break; 

     // And so on 
    } 
} 

は、この場所のようなメソッドを作成します:startSpecificActivity(FirstActivity.class)これが私の方法であり、私はこのようになりますonClick()メソッドを実装していますClass<?>は、一般的なクラスオブジェクトホルダーであると?はワイルドカード文字です:

public void startSpecificActivity(Class<?> otherActivityClass) { 
    Intent intent = new Intent(getApplicationContext(), otherActivityClass); 
    startActivity(intent); 
} 

また、getApplicationContext()ではなく、現在のアクティビティのcontextまたはYourActivityName.thisを使用することをおすすめします。

+1

それは完璧に動作しています!ありがとうございました! –

+0

@AlexM。私は、私は、ハッピーコーディングを助けることができるとうれしい –

関連する問題