Я настраивал слушателя на кнопку вызова, и сначала я просто хотел убедиться, что слушатель работает, поэтому я поместил в него оператор журнала.Но по какой-то таинственной причине он отказался печатать, когда я щелкнул по нему!Так что, может быть, кнопка вызова была нулевой, подумал я, и добавил оператор else ... но он не печатал ничего из оператора if или else !!!Он будет печатать операторы до и после, но полностью игнорирует все в структуре if-else.Вот код:
ImageButton call = (ImageButton) v.findViewById(R.id.callButton);
Log.d("MEETINGS", "ABOUT TO WORK W/ CALL");
Log.e("MEETINGS", "" + (call != null));
if (call != null) {
Log.d("PHONE", "setting stuff on call...");
call.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Log.d("PHONE", "on call : " + phone);
}
});
} else {
System.out.println("why is this messed up");
Log.d("PHONE", "call button was null!");
}
System.out.println("what the heck is going on");
После не менее 15 минут попыток разгадать загадку о том, как Java может просто решить пропустить оба оператора if и else, я попытался присвоить оператору log другой тег.
И Эврика!Это сделало трюк!Я изменил «ТЕЛЕФОН» на «БЛА», и вдруг мир снова обрел смысл!Любопытно, я изменил его на «телефон», и он отказывается печатать снова.
Мораль истории: никогда не используйте тег «телефон» или «ТЕЛЕФОН» в logcat !!!
Можеткто-то, пожалуйста, объясните мне, как и / или почему logcat игнорирует сообщения с тегом "ТЕЛЕФОН"?