Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 视图持有者不能为Null是错误消息_Android - Fatal编程技术网

Android 视图持有者不能为Null是错误消息

Android 视图持有者不能为Null是错误消息,android,Android,我正在尝试构建和天气应用程序,在菜单列表适配器类中,我收到错误消息,消息如下: 视图持有者中的视图持有者()不能为空 这是我正在使用Android Studio构建应用程序的Android代码 import android.annotation.SuppressLint; import android.app.Activity; import android.view.LayoutInflater; import android.view.View; import android.view.Vi

我正在尝试构建和天气应用程序,在菜单列表适配器类中,我收到错误消息,消息如下:

视图持有者中的视图持有者()不能为空

这是我正在使用Android Studio构建应用程序的Android代码

import android.annotation.SuppressLint;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.FrameLayout;
import android.widget.TextView;
import java.util.ArrayList;
import com.weather.queensland.weather.pojo.MenuListPojo;

public class MenuListAdapter extends ArrayAdapter<MenuListPojo>
{
  Activity activity;
  private ArrayList<MenuListPojo> dataSet;
  private int lastPosition = -1;

  @SuppressLint("ResourceType")
  public MenuListAdapter(ArrayList<MenuListPojo> paramArrayList, Activity paramActivity)
  {
    super(paramActivity, 2131296289, paramArrayList);
    this.dataSet = paramArrayList;
    this.activity = paramActivity;
  }

  @SuppressLint("ResourceType")
  public View getView(int paramInt, View paramView, ViewGroup paramViewGroup)
  {
    MenuListPojo localMenuListPojo = (MenuListPojo)getItem(paramInt);
    ViewHolder localViewHolder;
    if (paramView == null)
    {
      localViewHolder = new ViewHolder(null);
      paramView = LayoutInflater.from(getContext()).inflate(2131296289, paramViewGroup, false);
      localViewHolder.nav_new_title = ((TextView)paramView.findViewById(2131165332));
      localViewHolder.nav_new = ((FrameLayout)paramView.findViewById(2131165321));
      paramView.setTag(localViewHolder);
    }
    for (paramViewGroup = localViewHolder;; paramViewGroup = (ViewHolder)paramView.getTag())
    {
      this.lastPosition = paramInt;
      paramViewGroup.nav_new_title.setText(localMenuListPojo.getTitle());
      paramViewGroup.nav_new.setOnClickListener(new View.OnClickListener()
      {
        public void onClick(View paramAnonymousView)
        {
          int i = ((Integer)paramAnonymousView.getTag()).intValue();
          paramAnonymousView = (MenuListPojo)MenuListAdapter.this.getItem(i);
          ((ForecastWeatherActivity)MenuListAdapter.this.activity).callOnMenuItemSelection(paramAnonymousView.getLink());
        }
      });
      paramViewGroup.nav_new.setTag(Integer.valueOf(paramInt));
      return paramView;
    }
  }

  private static class ViewHolder
  {
    FrameLayout nav_new;
    TextView nav_new_title;
  }
}
导入android.annotation.SuppressLint;
导入android.app.Activity;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.FrameLayout;
导入android.widget.TextView;
导入java.util.ArrayList;
进口com.weather.queensland.weather.pojo.MenuListPojo;
公共类MenuListAdapter扩展了ArrayAdapter
{
活动;
私有ArrayList数据集;
private int lastPosition=-1;
@SuppressLint(“资源类型”)
public MenuListAdapter(ArrayList paramArrayList,Activity paramActivity)
{
超级(paramActivity,2131296289,paramArrayList);
this.dataSet=paramArrayList;
this.activity=paramActivity;
}
@SuppressLint(“资源类型”)
公共视图getView(int-paramInt、View-paramView、ViewGroup-paramViewGroup)
{
MenuListPojo localMenuListPojo=(MenuListPojo)getItem(paramInt);
视图持有者localViewHolder;
if(paramView==null)
{
localViewHolder=新的ViewHolder(空);
paramView=LayoutInflater.from(getContext()).flate(2131296289,paramViewGroup,false);
localViewHolder.nav_new_title=((TextView)paramView.findViewById(2131165332));
localViewHolder.nav_new=((FrameLayout)paramView.findViewById(2131165321));
setTag(localViewHolder);
}
for(paramViewGroup=localViewHolder;;paramViewGroup=(ViewHolder)paramView.getTag()
{
this.lastPosition=paramit;
paramViewGroup.nav_new_title.setText(localMenuListPojo.getTitle());
paramViewGroup.nav_new.setOnClickListener(new View.OnClickListener())
{
public void onClick(视图参数匿名视图)
{
int i=((整数)paranamonymousview.getTag()).intValue();
paramAnonymousView=(MenuListPojo)MenuListAdapter.this.getItem(i);
((ForecastWeatherActivity)MenuListAdapter.this.activity).callOnMenuItemSelection(paranamonymousView.getLink());
}
});
paramViewGroup.nav_new.setTag(Integer.valueOf(paramInt));
返回参数视图;
}
}
私有静态类视图持有者
{
框架布局导航新;
文本视图导航新标题;
}
}
getView()
函数中,视图持有者的默认构造函数应该是

localViewHolder = new ViewHolder();
不是这个

localViewHolder = new ViewHolder(null);

这使得它成为
参数化构造函数
,并作为参数值传递
null

localViewHolder=newviewholder(null)
–删除此处的
null
参数。您的
ViewHolder
类没有任何接受参数的构造函数。请向我们显示完整错误。Android Studio足够智能,可以向您显示异常发生在哪一行。你必须按照建议去做。