这是我的网格视图片段,我打算在网格中添加50个可绘制项目,我的问题是onclick方法。如何能够为这50个项目创建新的Activity类。我确实有一个工作正常的onClick方法,但添加50个case语句是痛苦的,有没有什么办法根据他们的类名动态地使用50个activity类。动态使用Android意图
公共类片段1扩展片段{
@Override
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.gridview,container,false);
GridView gridView = (GridView) view.findViewById(R.id.gridview);
gridView.setAdapter(new ImageAdapter(getActivity())); // uses the view to get the context instead of getActivity().
gridView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View v, int position,
long arg3) {
// TODO Auto-generated method stub
Intent n = null;
switch(position){
case 0:
n = new Intent(getActivity(), abc.class);
getActivity().startActivity(n);
break;
case 1:
n = new Intent(getActivity(), bcd.class);
getActivity().startActivity(n);
break;
case 2:
// n = new Intent(getActivity(), cbe.class);
getActivity().startActivity(n);
break;
}
}
});
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) { // if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(500, 500));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
private Integer[] mThumbIds = {
R.drawable.car,
R.drawable.dabangg,
R.drawable.dabangg,
R.drawable.car,
R.drawable.car,
R.drawable.dabangg
};
}
}
如果你有50周以上的活动,你应该可能重新考虑你的设计。 –
每个项目都链接到YouTube的片段。如果您在我的YouTube类中看到它在onInitializationsucess方法中有ArrayList。不知道如何传递这些数组列表值,因为每个值都有不同的值。 – Mihir