У меня есть пользовательская строка заголовка Android (1.5) с кнопкой.Используя пользовательскую строку заголовка в Деятельности A, я могу нажать кнопку и вызвать событие OnClickListener
, как и ожидалось.
Однако, когда я запускаю действие B для результата из действия A, может потребоваться 2-3 щелчка для запуска события одного и того же кнопки.
Это код для установки прослушивателя события.для Действия A в onCreate
переопределении
setTitleNegativeActionListener(new OnClickListener() {
public void onClick(View v) {
// end this activity
ActivityA.this.finish();
}
});
Это код для Действия B
setTitleNegativeActionListener(new OnClickListener() {
public void onClick(View v) {
setResult(RESULT_CANCELED);
EditClientAddressActivity.this.finish();
}
});
Кнопка XML из макета
<Button
android:id="@+id/title_button_right"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/nav_button"
android:text="Done" android:textColor="#fff"
android:layout_alignParentRight="true" android:textSize="12dip"
android:textStyle="bold" android:paddingLeft="10dip"
android:paddingRight="10dip" android:layout_centerVertical="true"
android:minWidth="40dip"
android:focusableInTouchMode="false" android:focusable="false" />
Кажется, чтохотя в упражнении B первый щелчок приводит к фокусировке кнопки, а второй щелчок - к нажатию кнопки.Тем не менее, я установил как focusableInTouchMode
, так и focusable
как ложные в определении кнопок.
Есть ли какое-либо другое свойство, которое необходимо определить, чтобы в этом случае сработало событие OnClickListener
?
EDIT : После более подробного изучения я обнаружилчто дочернее действие B запускалось дважды (или более), и каждое нажатие кнопки действительно работало должным образом, но казалось, что ничего не происходит.Полный ответ ниже.