在android studio中我使用SonarLint
来测试代码,我的活动中出现了错误
使封闭方法“静态”或删除此集
我使用了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)但是如何解决这个错误。
提前致谢。
答案 0 :(得分:0)
我认为您应该为该静态变量创建一个getter方法,并在需要静态变量时使用该getter方法。这不会产生问题,也不会按预期工作。我希望这对您有所帮助。