基本上我正在使用monodroid上的画廊,用户点击图像并将图像设置为imageview。我知道有一个例子,但问题是我正在使用我的SD卡中的图像来设置图库图像。
我可以获取所有图像等并设置它们......有点......我正在使用这个例子http://docs.xamarin.com/android/tutorials/User_Interface/gallery 从单声道网站,但进入圈子......任何想法或解决方案都会很棒。
这是我的代码。
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
Gallery gallery = (Gallery)FindViewById<Gallery>(Resource.Id.gallery);
gallery.Adapter = new ImageAdapter(this);
gallery.ItemClick += delegate(object sender, ItemEventArgs args)
{
Toast.MakeText(this, args.Position.ToString(), ToastLength.Short).Show();
};
}
public class ImageAdapter : BaseAdapter
{
Context context;
public string[] numImages = Directory.GetFiles("/sdcard/DCIM/Camera/");
public string[] images;
public ImageAdapter(Context c)
{
context = c;
}
public override int Count { get { return numImages.Length; } }
public override Java.Lang.Object GetItem(int position)
{
return null;
}
public override long GetItemId(int position)
{
return 0;
}
// create a new ImageView for each item referenced by the Adapter
public override View GetView(int position, View convertView, ViewGroup parent)
{
ImageView i = new ImageView(context);
i.SetImageURI(Android.Net.Uri.Parse(numImages[position].ToString()));
i.LayoutParameters = new Gallery.LayoutParams(150, 100);
i.SetScaleType(ImageView.ScaleType.FitXy);
return i;
}
}
}
}
只需看看GetView方法..我将图库viewViews设置为存储在numImages中的图像。我觉得奇怪的是,如果我只存储2它可以工作,但任何事情都会崩溃。
有什么想法吗?