2012-01-08 4 views
0

私のボタンを非常に長い時間稼働させようとしてきましたが、面白いのは、他のボタンと同じように、彼らはうまく動作します、ボタンはエラーや例外を投げていない、と私は疲れている..私は思うことができるすべてを試したが、まだ動作していません。ボタンがクリックされたときに[次へ]アクティビティを表示できません[Android]

ボタンが動作していないアクティビティのコード。

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    Button easy, medium, hard; 

    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.exam_level_options); 

    easy = (Button) findViewById(R.id.easyExamButn); 
    medium = (Button) findViewById(R.id.mediumExamButn); 
    hard = (Button) findViewById(R.id.hardExamButn); 

    easy.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      intent = new Intent (ExamOptionPage.this, EasyExam.class); 
      startActivity(intent); 
     } 
    }); 
    medium.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      intent = new Intent (ExamOptionPage.this, MediumExam.class); 
      startActivity(intent); 
     } 
    }); 
    hard.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      intent = new Intent (ExamOptionPage.this, HardExam.class); 
      startActivity(intent); 
     } 
    }); 
} 

/*@Override 
public void onClick(View v) { 


    switch (v.getId()){ 

    case R.id.easyExamButn: 
     intent = new Intent(this, EasyExam.class); 
     this.startActivity(intent); 
     overridePendingTransition(R.anim.fade, 0); 
     break; 

    case R.id.mediumExamButn: 
     intent = new Intent(this, MediumExam.class); 
     this.startActivity(intent); 
     overridePendingTransition(R.anim.fade, 0); 
     break; 

    case R.id.hardExamButn: 
     intent = new Intent(this, HardExam.class); 
     this.startActivity(intent); 
     overridePendingTransition(R.anim.fade, 0); 
     break; 

    default: 
     break; 

    } 

}*/ 

私はswitch文をコメントアウトしましたが、まだ別の方法を試しましたが、switch文は他のアクティビティにも使用できます。まったく同じことをしています。

ログ:

01-08 23:42:39.436: INFO/ActivityManager(58): Starting activity: Intent { act=com.gc02.android.activities.OPTIONACTIVITY cmp=com.gc02.android/.activities.OptionActivity } 
01-08 23:42:39.464: INFO/WindowManager(58): Setting rotation to 0, animFlags=0 
01-08 23:42:39.514: INFO/ActivityManager(58): Config changed: { scale=1.0 imsi=310/260 loc=en_US touch=3 keys=2/1/2 nav=3/1 orien=1 layout=34} 
01-08 23:42:40.035: INFO/ActivityManager(58): Displayed activity com.gc02.android/.activities.OptionActivity: 576 ms (total 576 ms) 
01-08 23:42:41.234: INFO/ActivityManager(58): Starting activity: Intent { cmp=com.gc02.android/.activities.ExamActivity } 
01-08 23:42:41.614: INFO/ActivityManager(58): Displayed activity com.gc02.android/.activities.ExamActivity: 358 ms (total 358 ms) 
01-08 23:42:42.144: DEBUG/dalvikvm(58): GC freed 1726 objects/84336 bytes in 104ms 
01-08 23:42:43.474: WARN/KeyCharacterMap(1638): No keyboard for id 0 
01-08 23:42:43.484: WARN/KeyCharacterMap(1638): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 
01-08 23:42:46.694: DEBUG/dalvikvm(101): GC freed 551 objects/26640 bytes in 75ms 
01-08 23:42:47.584: DEBUG/dalvikvm(96): GC freed 411 objects/22256 bytes in 116ms 
01-08 23:42:48.054: DEBUG/dalvikvm(96): GC freed 719 objects/53216 bytes in 166ms 
01-08 23:42:51.114: DEBUG/dalvikvm(96): GC freed 693 objects/42344 bytes in 70ms 
01-08 23:42:59.134: INFO/NotificationService(58): enqueueToast pkg=com.gc02.android [email protected] duration=0 
01-08 23:43:01.688: DEBUG/dalvikvm(99): GC freed 12471 objects/573368 bytes in 1422ms 
01-08 23:43:03.124: WARN/InputManagerService(58): Window already focused, ignoring focus gain of: [email protected] 

私が何を行うことができ、私はそれらをクリックすると、ボタンが、呼び出されていないように見えるでしょうか?

ありがとうございました!

+0

をのonClickメソッドが呼び出されていることを確認します。 'Log.i()'を呼び出し、何らかの診断情報を出力します。 –

+0

あなたのレイアウトを見たいと思うかもしれません、どういうわけかボタンの上を引っ張っているなら、onclickは発射されないかもしれません。 –

+0

また、XMLで 'android:onclick =" startEasy "'を試し、パブリックメソッド 'startEasy'をあなたのアクティビティに追加することもできます。 –

答えて

0

あなたのjavaファイルでのonClickメソッドを呼び出すため、オブジェクトラインのパスIDの後の行の下に追加してください: -

easy.setOnClickListener(this); 
medium.setOnClickListener(this); 
hard.setOnClickListener(this); 


@Override 
public void onClick(View v) { 
    if(v==easy){ 
     intent = new Intent (ExamOptionPage.this, EasyExam.class); 
     startActivity(intent); 
    } else if(v==medium){ 
     intent = new Intent (ExamOptionPage.this, MediumExam.class); 
     startActivity(intent); 
    } else if(v==hard){ 
     intent = new Intent (ExamOptionPage.this, HardExam.class); 
     startActivity(intent); 
    } 
} 
+0

私はそのようにしてみましたが、まだ次の活動には入っていません – StrangeLondoner

+0

私の編集した答えをご覧ください。 –

+0

ありがとう..私はstartContentViewではなく、別のアクティビティでsetContentViewをやっていることに気付きました – StrangeLondoner

0

"intent"オブジェクトがどこにも定義されていません。実際には、これはコンパイルエラーをもたらすはずです。

この行を忘れた場合は、すべてのアクティビティをAndroidManifest.xmlに含めてください。

+0

私はOnCreateメソッドの前にIntentを定義しましたが、これもManifestに追加しましたが、それでもまだ動作していません。 – StrangeLondoner

関連する問題