我有一个RecyclerView
适配器,以及' getItemViewType'中的以下代码方法:
if (position == 0) {
return Post.PostTypeHeader;
}
return Container.postList.get(position).type;
"位置" value为0,当代码输入if时,返回Post.PostTypeHeader
。但随后,它立即进入下一行。怎么可能?我也试过'如果'和'其他'并且如果'那么代码将在两者中执行。和其他'。
Here是Android中的视频调试
答案 0 :(得分:1)
已经回答过了 [Simple function going past return statement和Android Studio debugger highlights the wrong lines。
简而言之,尝试重建您的项目,如果这不能帮助您重新启动android studio。
答案 1 :(得分:0)
在调试开启时,从用户的角度来看可能会让人感到困惑。但是,两个返回语句都不能在单个流上执行,并且这些语句确实不会立即执行。
您可以通过添加两个这样的日志语句来验证方案,
if (position == 0) {
Log.d("Inside if statement");
return Post.PostTypeHeader;
}
Log.d("Outside if statement")'
return Container.postList.get(position).type;
只会根据position
的值执行一个日志记录。