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; 

    } 

}*/ 

Я блок закомментировано заявление переключателя, но и попробовал другой метод еще не везение, однако оператор переключатель работает для других видов деятельности. Выполнять то же самое.

Журнал:

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: com.android.internal.view.IInputMethodClient$Stub$Pr[email protected] 

Казалось бы, что кнопки не вызывается, когда я нажимаю их, что я могу сделать?

Спасибо, ребята!

+0

Убедитесь, что методы OnClick в настоящее время называется. Вызовите 'Log.i()' и распечатайте некоторую диагностическую информацию. –

+0

Возможно, вам захочется взглянуть на ваш макет, если каким-то образом вы нарисуете верхнюю часть кнопок, onclick не может быть запущен. –

+0

Вы также можете попробовать в xml: 'android: onclick =" startEasy "и добавить публичный метод' startEasy' к вашей деятельности. –

ответ

0

Пожалуйста Добавить ниже линии после прохода идентификатора объекта линий, для вызова метода OnClick в файле Java: -

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

Спасибо .. Я также понял, что делаю setContentView в другом действии, а не в startIntent – StrangeLondoner

0

Я не вижу вашего объекта «намерения», определенного где угодно. Infact, это должно привести к ошибке компиляции.

Если вы пропустили строку здесь, убедитесь, что вы включили все свои действия в AndroidManifest.xml.

+0

Я определил намерение перед методом OnCreate, я также добавил это в манифест, но он все еще не работает. – StrangeLondoner

Смежные вопросы