想要将整数数组更改为字符串数组,以便在gridview中查看图像.Arrayadapter仅支持android中的动画字符串数组
int[] resource={R.drawable.chinanight,R.drawable.huhu,R.drawable.jkjkj,R.drawable.kkk};
String aa=Arrays.toString(resource);
String[] ay=aa.split(aa);
GridView grid;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_grid_view);
grid=(GridView)findViewById(R.id.gridView1);
ArrayAdapter ar=new ArrayAdapter(this,android.R.layout.simple_list_item_1,ay);
grid.setAdapter(ar);
Animation asd=AnimationUtils.loadAnimation(getApplicationContext(),R.anim.right);
grid.startAnimation(asd);
}`
请帮助
答案 0 :(得分:1)
适配器的要点是将一组数据链接到一组视图(由AdapterView创建,即ListView) - 您不会给它一个要使用的视图数组。创建一个Arraylist到尊重你的绘画。
ArrayList<Pair<String, Integer>> array = new ArrayList<Pair<String, Integer>>();
array.add(Pair.create("Drawable1",R.drawable.chinanight));
array.add(Pair.create("Drawable2", R.drawable.dfg));
array.add(Pair.create("Drawable3", R.drawable.sf));
array.add(Pair.create("Drawable4", R.drawable.sdf));
ArrayAdapter ar=new ArrayAdapter(this,android.R.layout.simple_list_item_1,array);
grid.setAdapter(ar);
适配器的GetView()内部
public View getView(int position, View convertView, ViewGroup container) {
if(convertView == null) {
convertView = LayoutInflator.from(getContext()).inflate(R.layout.single_list_row, container, false);
}
Pair<String, Integer> item = getItem(position);
title.setCompoundDrawables(item.second, 0, 0, 0);
return convertView;
}
};