gallery 循环现实图片。
public class Gallery_Activity extends Activity {/** Called when the activity is first created. */
private Gallery gallery;
private ImageView imageView;
private int images[]={R.drawable.r1,R.drawable.r2,R.drawable.r3,R.drawable.r4,R.drawable.r5};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gallery=(Gallery) findViewById(R.id.gallery1);
imageView=(ImageView) findViewById(R.id.imageView1);
gallery.setSpacing(100);
gallery.setSelection(1);
MyGallery_Adpter myGallery_Adpter=new MyGallery_Adpter(this, images);
gallery.setAdapter(myGallery_Adpter);
gallery.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
imageView.setImageResource(images[arg2%images.length]);
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
}
public class MyGallery_Adpter extends BaseAdapter {
private Context context;
private int image[];
private ImageView imageView;
public MyGallery_Adpter(Context context,int image[]) {
this.context=context;
this.image=image;
}
public int getCount() {
// TODO Auto-generated method stub
return image.length;
}
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return image[arg0];
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
imageView=new ImageView(context);
imageView.setImageResource(image[position%image.length]);
imageView.setPadding(2, 2, 2, 2);
imageView.setLayoutParams(new Gallery.LayoutParams(200, 200));
return imageView;
}
}
怎么不能达到效果,该怎么写呢,求大神指导 --------------------编程问答-------------------- public int getCount() {
// TODO Auto-generated method stub
return Integer.MAX_VALUE;
}
--------------------编程问答-------------------- 楼上正解 --------------------编程问答--------------------
+1
循环效果实际上是形成了一个很长的,不断重复的长列。 --------------------编程问答-------------------- 这种方法是种伪循环。。。 --------------------编程问答-------------------- Integer.MAX_VALUE;
返回的是什么? --------------------编程问答-------------------- --------------------编程问答-------------------- 好像是20亿 反正是一个很大的数字 --------------------编程问答--------------------
仅这样还不够
public View getView(int position, View convertView, ViewGroup parent)
{
// TODO Auto-generated method stub
imageView=new ImageView(context);
imageView.setImageResource(image[position%Integer.MAX_VALUE]);
imageView.setPadding(2, 2, 2, 2);
imageView.setLayoutParams(new Gallery.LayoutParams(200, 200));
return imageView;
}
这个只是右循环
如果想要左循环 就必须改那个Gallery了 加个判断即可
补充:移动开发 , Android