Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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
Java 如何为GridView列表添加ViewHolder?_Java_Android_Android Viewholder - Fatal编程技术网

Java 如何为GridView列表添加ViewHolder?

Java 如何为GridView列表添加ViewHolder?,java,android,android-viewholder,Java,Android,Android Viewholder,我正试图为这个GridView列表编写一个ViewHolder,但每次都会出错。 你能告诉我如何为这个gridView列表制作一个合适的视图夹吗 我的代码: public static String[] stringArray = {"IRAN","Uganda", "Ukraine","United Arab Emirates","United Kingdom","United States Minor Outlying Islands",}; public int[] imageArr

我正试图为这个
GridView
列表编写一个
ViewHolder
,但每次都会出错。 你能告诉我如何为这个gridView列表制作一个合适的视图夹吗

我的代码:

  public static String[] stringArray = {"IRAN","Uganda",
"Ukraine","United Arab Emirates","United Kingdom","United States Minor Outlying Islands",};

public int[] imageArray = {R.drawable.iran,R.drawable.united_states,R.drawable.iran,R.drawable.russia,
R.drawable.iran,R.drawable.united_states,R.drawable.iran,R.drawable.uk,
R.drawable.iran,R.drawable.united_states  };

public CountryImageAdapter(Context mContext) {this.mContext = mContext;}

@Override
public int getCount() {return imageArray.length;}

@Override
public Object getItem(int position) {return imageArray[position];}

@Override
public long getItemId(int position) {return 0;}

@Override
public View getView(int position, View view, ViewGroup viewGroup) {View v;

LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

v = inflater.inflate(R.layout.sample_gridlayout, null);
v.setLayoutParams(new GridView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));

TextView textView = (TextView) v.findViewById(R.id.country_text);
ImageView imageView = (ImageView) v.findViewById(R.id.ivGallery);

textView.setText(stringArray[position]);
imageView.setImageResource(imageArray[position]);

return v;}

您应该创建一个customViewHolder类,该类扩展了RecyclerView.ViewHolder,您应该可以在那里找到您的视图:

TextView textView = (TextView) v.findViewById(R.id.country_text);
ImageView imageView = (ImageView) v.findViewById(R.id.ivGallery);
你应该写以下几行:

textView.setText(stringArray[position]);
imageView.setImageResource(imageArray[position]);

在onBindViewHolder函数中。

您应该创建一个customViewHolder类,该类扩展了RecyclerView.ViewHolder,您应该在那里找到您的视图:

TextView textView = (TextView) v.findViewById(R.id.country_text);
ImageView imageView = (ImageView) v.findViewById(R.id.ivGallery);
你应该写以下几行:

textView.setText(stringArray[position]);
imageView.setImageResource(imageArray[position]);
在onBindViewHolder函数中