为什么我们需要:-
- 创建 View x。
- 然后设置 x = a
如果可以直接使用 a,则对 x 使用 if 命令。
@Override public View getView(int position, View convertView, ViewGroup parent) { // check if the current view is reused else inflate the view View listItemView = convertView; if(listItemView == null){ listItemView = LayoutInflater.from(getContext()).inflate(R.layout.list_item, parent, false); }
相反,为什么我们不能这样做?
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item, parent, false);
}
最佳答案
第一个和第二个示例有效。仅当您要创建类变量的本地副本时才使用第一种情况。这是没有用的。开发商为何要这样做?谁知道:)
关于充气。膨胀操作有些昂贵,因为您的适配器项目是相似的,可以只膨胀 View 一次。
关于java - 当可以使用旧变量时,为什么要创建并使用新变量呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53969798/