在android studio中,我使用SonarLint
测试代码,我在我的活动中得到了错误
将封闭方法设置为static或删除
我使用了onCreate
方法中使用的静态变量。
public class BaseActivity extends AppCompatActivity implements Interactor, UserMapView, RecyclerItemClickListener {
static LoginDao listLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
progressBar = (ProgressBar) findViewById(R.id.progress_bar);
loginPresenter = new RecyclerviewPresenter();
loginPresenter.attachedView(this);
setupRecyclerView();
listLogin = DataProvider.getLoginDao(this);
}
public List < Login > createCollectionPictures() {
List < Login > pictures;
pictures = listLogin.loadAll();
return pictures;
}
注意:如果我不声明静态,我就不能得到输出变量Listlogin应该是null)但是如何解决这个错误。
我认为你应该为静态变量创建一个getter方法,并在需要静态变量时使用该getter方法。这不会产生问题,因为它将按预期工作。我希望这对你有帮助。