1

各クラスで使用するナビゲーション ボタンがあり、その onClickListener をすべての共通コードを含むクラスに設定したいと考えています。しかし、私は

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

1 に答える 1

3

を実装する内部クラス内にいView.OnClickListenerます。

そのクラスにはstartActivity呼び出すことができるメソッドがないため、親アクティビティのメソッドにアクセスするには、クラスをラップする必要があります。クラスの名前が「MyActivity」であると仮定して、行startActivity(i);を次のように変更します。

MyActivity.this.startActivity(i);
于 2012-05-13T20:17:45.087 に答える