我需要帮助为GridView设计适配器。我的StringArray
内有strings.xml
个约100个项目。到目前为止我有这个,但我不知道在构造函数中放置什么来将我的StringArray链接到此适配器。
public class Tab01_FavAdapter extends BaseAdapter {
private Context mContext;
private LayoutInflater mInflator;
public Tab01_FavAdapter (Context c) {
mContext = c;
mInflator = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return .size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = mInflator.inflate(R.layout.griditemlayout, parent, false);
}
...
return convertView;
}
}
答案 0 :(得分:1)
如果我没有误解,你可以将数据集作为参数传递,例如
ArrayList<String> dataset;
public Tab01_FavAdapter (Context c, ArrayList<String> dataset) {
mContext = c;
mInflator = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.dataset = dataset;
}
String[] stringArray = getResources().getStringArray(R.array.FullList);
ArrayList<String> dataset = new ArrayList<String>(Arrays.asList(stringArray))
答案 1 :(得分:1)
你可以按照blackbelt建议的arraylist进行以下操作
String s[] = getResources().getStringArray(R.array.StringArray);
new Tab01_FavAdapter(this,s);
getResources()
需要激活上下文。确保在活动类中使用上述内容。或者使用活动中的ActivityContext来调用getResources
如果您有片段,则可以使用getActivity()
获取托管活动的上下文。
在custructor中接收字符串数组
String s[];
public Tab01_FavAdapter (Context c,String[] arr ) {
mContext = c;
mInflator = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
s= arr;
}
@Override
public int getCount() {
return s.length;
}
在getView