我使用的是android studio 2.3.1,并且没有" findViewById"当使用按钮和setOnClickListener为按钮时!
并使用此:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launcher);
findViewById(R.id.button2);
BTN_PROGRESS.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
doWork();
}
});
}
@Override
public View findViewById(@IdRes int id) {
BTN_PROGRESS = (Button) findViewById(R.id.button2);
PRG_MAIN = (ProgressBar) findViewById(R.id.progressBar);
return super.findViewById(id);
}
private void doWork() {
// my code
}
}
运行应用程序时没有发生错误!但应该强行关闭! 怎么处理这个问题?
答案 0 :(得分:2)
findViewById
已在Activity类上定义,并且按预期工作。你不需要覆盖它。
您的应用程序因Stackoverflow崩溃,因为您正在进行无限递归
因此,可以调用您的方法private void findViews()
,然后执行此操作
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launcher);
findViews();
BTN_PROGRESS.setOnClickListener