-2

したがって、エラーが発生しているコードを投稿するだけです。なぜこれが機能しないのかについて誰かが考えている場合は、説明を添えてお知らせください。(これがコーディングの悪い方法であるなどとだけ言ってはいけません) (または、少なくとも自分で説明する場合)。したがって、以下のコードは、誰かがクリックした色が true の場合に別の画面に切り替えることになっています!

public boolean onTouch(View v, MotionEvent event) {
   int x = (int) event.getX();
   int y = (int) event.getY();
   if(isInsideCircle(x, y) ==  true){
      //Do your things here
       if(redColor == lastColor){
// error is here   Intent i = new Intent(this, YouFailed.class);
// and here        Activity.startActivity(i);
       } else {
           addPoints++;
       }
   }else {

   }
   return true;
}

次の 2 つのエラーがあります。

コンストラクターIntent(DrawingView, Class<YouFailed>)は未定義です

タイプ Activity から非静的メソッド startActivity(Intent) への静的参照を作成できません

4

3 に答える 3

3

方法でメソッドを呼び出そうとする代わりに、メソッドにvアクセスするために使用します。startActivitynon-staticstatic

Intent i = new Intent(v.getContext(), YouFailed.class);
v.getContext().startActivity(i);
于 2015-04-20T04:46:04.943 に答える
0

ここでエラーが発生したようですが、

   Intent i = new Intent(this, YouFailed.class);

コンストラクターでIntentは、最初のパラメーターはDrawingView、代わりに

ACTION_VIEW などのインテント アクション。

だからこれを

   Intent i = new Intent(v.getContext(), YouFailed.class);
于 2015-04-20T04:46:19.443 に答える
0

Try to use your activity context instead inline class context :

Intent i = new Intent(YourActivity.this, YouFailed.class);
YourActivity.startActivity(i);
于 2015-04-20T04:49:42.333 に答える