public abstract class BaseActivity extends AppCompatActivity {
private Unbinder mUnbinder;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);//设置隐藏虚拟键盘
super.onCreate(savedInstanceState);
setContentView(getLayoutResId());
mUnbinder=ButterKnife.bind(this);
initToolBar();
//注册账号登出的广播
IntentFilter inten = new IntentFilter();
inten.addAction("android.intent.action.logout");
registerReceiver(loginout, inten);
//注册网络状态监听广播
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(receiver, filter);
init();
initView();
initData();
setListener();
}
...}
这是我的BaseActivity。继承它的Activity,第一次点击均无效,和设置控件焦点那方面无关 即和android:focusableInTouchMode属性无关。不继承它的都没问题,请问原因何在???
求大神解答!!!
给的太少了 BaseActivity 就这点代码?
这个第一次点击失效,你意思是第二次就可以,你这个是怎么判断的,仔细说(通过一个例子)
改成继承Activity或者 FragmentActivity就不会有问题了
你这段代码给我感觉 就不是一个BaseActivity 该写的 既然 你都知道在base里面用黄油刀(ButterKnife) 那你外面的activity直接参照ButterKnife的用法 点击时间也用ButterKnife就行了 你就搜索一下ButterKnife使用简介 第一次点击无效 1、事件被拦截了 2、你自己写的监听里去注册点击事件