我对我得到的警告感到非常困惑,因为我没有使用自定义类,我只是使用浮动操作按钮。有没有人知道如何解决这个问题?
“自定义视图FloatingActionButton
已调用setOnTouchListener
,但未覆盖performClick
”
FloatingActionButton touchFab = (FloatingActionButton) findViewById(R.id.floatingActionButton);
touchFab.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
round.setRound();
round.setStartTime(System.currentTimeMillis());
return false;
case MotionEvent.ACTION_UP:
round.setEndTime(System.currentTimeMillis());
// setRecordedTime(round.getTimeDiff());
round.afterRound();
createFragment();
return false;
default:
return false;
}
}
});
FAB的相关XML。
<android.support.design.widget.FloatingActionButton
android:id="@+id/floatingActionButton"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginEnd="12dp"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:layout_marginStart="12dp"
android:clickable="true"
android:focusable="true"
app:backgroundTint="#FFF"
app:fabSize="normal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:rippleColor="@color/colorPrimaryDark"/>
经过一些测试,看来问题只是Android Studio 3.0 Canary,我只是回到稳定版的Studio而且没有错误。如果有人能够理解为什么警告会出现在新版本中,那将是值得赞赏的。
答案 0 :(得分:1)
我有同样的问题。 我的结果覆盖方法performClick():
class FAButton(context: Context?) : FloatingActionButton(context){
override fun performClick(): Boolean {
return super.performClick()
}
}