2012-05-13 6 views
1

私は各クラスで使用するナビゲーションボタンを持っており、すべての共通コードを含むクラスのonClickListenerを設定します。しかし、私はandroid starting共通クラスのonClickListenerのIntentからのアクティビティエラー

"The method startActivity(Intent) is undefined for the type new View.OnClickListener(){}" 

startActivity(i)でエラーが発生します。

関連するコードは次のとおりです。

public static void initiateNavigationButton(Context context, View view, int layoutResource) { 
    final Context classContext = context; 

    LayoutInflater inflater = LayoutInflater.from(classContext); 
    View layout = inflater.inflate(layoutResource, (ViewGroup) view); 

    Button navigationButton = (Button) layout.findViewById(R.id.navigation_button); 

    navigationButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent i = new Intent(classContext, HomeActivity.class); 

      startActivity(i); 
     } 
    }); 
    } 

答えて

3

あなたはView.OnClickListenerを実装内部クラスの内部にあります。

そのクラスには電話できるstartActivityメソッドがないため、親アクティビティのメソッドにアクセスするには、そのクラスをラップする必要があります。あなたのクラスの名前が「MyActivity」であると仮定して、を

MyActivity.this.startActivity(i); 
に変更してください