我有一个定制的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
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
在按钮定义中为假。
是否需要定义其他属性以允许
OnCLICKISTER
在这种情况下要触发的事件?
编辑
:
经过更多的调查,我发现孩子的活动B已经启动了两次(或更多),并且每次点击按钮确实如预期的那样工作,但是看起来好像什么都没有发生。完整答案如下。