2015-11-03 31 views
0

我正尝试在GridView中将图像绑定在Fragment中。该片段正在加载,但它是空白的。我在ImageAdapeter的GetView方法上放置了断点,但它没有触及断点。这是片段是空白的原因吗?Xamarin Android - 使用ImageAdapter在片段中将图像绑定到GridView

这里是我的代码

片段代码:

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    { 
     ViewGroup root = (ViewGroup)inflater.Inflate(Resource.Layout.profilefragmentlayout, null); 

     var PhotoGridView = root.FindViewById<GridView>(Resource.Id.PhotoGridView); 

     PhotoGridView.Adapter = new ImageAdapter(root.Context); 

     return root; 
    } 

ImageAdapter代码

public class ImageAdapter: BaseAdapter 
{ 
    Context contextcreate; 
    public ImageAdapter(Context a) 
    { 
     contextcreate = a; 
    } 

    public override int Count 
    { 
     get { return imageIds.Length; } 
    } 

    public override Java.Lang.Object GetItem(int position) 
    { 
     return null; 
    } 

    public override long GetItemId(int position) 
    { 
     return 0; 
    } 

    public override View GetView(int position, View convertView, ViewGroup parent) 
    { 
     ImageView imageView; 
     if (convertView == null) 
     { 
      imageView = new ImageView(contextcreate); 
      imageView.LayoutParameters = new GridView.LayoutParams(50, 50); 
      imageView.SetScaleType(ImageView.ScaleType.CenterCrop); 
      imageView.SetPadding(5, 5, 5, 5); 
     } 
     else 
     { 
      imageView = (ImageView)convertView; 
     } 
     imageView.SetImageResource(imageIds[position]); 
     return imageView; 
    } 
    int[] imageIds = { 
     Resource.Drawable.WP1, Resource.Drawable.WP2, 
     Resource.Drawable.WP3, Resource.Drawable.WP4, 
     Resource.Drawable.WP5, Resource.Drawable.WP6, 
     Resource.Drawable.WP7, Resource.Drawable.WP8, 
     Resource.Drawable.WP9, Resource.Drawable.WP10, 
     Resource.Drawable.WP11, Resource.Drawable.WP12, 
    }; 
} 

}

请让我什么,我很想念它停下来绑定图像在片段中的gridview。

+0

能有人帮助呢? – user3509981

回答

0

添加该代码在你的片段类

public class OneFragment : Fragment 
    { 
     public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
     { 
      View view = inflater.Inflate(Resource.Layout.One, null); 
      var gridview = view.FindViewById<GridView>(Resource.Id.gridview); 
      gridview.Adapter = new ImageAdapter(Activity); 

      gridview.ItemClick += delegate (object sender, AdapterView.ItemClickEventArgs args) { 
       Toast.MakeText(Activity, args.Position.ToString(), ToastLength.Short).Show(); 
      }; 
      return view; 
     } 
    } 

添加ImageAdapter类和ImageAdapter类中添加以下代码

public class ImageAdapter : BaseAdapter 
    { 
     Context context; 

     public ImageAdapter(Context c) 
     { 
      context = c; 
     } 

     public override int Count 
     { 
      get { return thumbIds.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 imageView; 

      if (convertView == null) 
      { // if it's not recycled, initialize some attributes 
       imageView = new ImageView(context); 
       imageView.LayoutParameters = new GridView.LayoutParams(85, 85); 
       imageView.SetScaleType(ImageView.ScaleType.CenterCrop); 
       imageView.SetPadding(8, 8, 8, 8); 
      } 
      else 
      { 
       imageView = (ImageView)convertView; 
      } 

      imageView.SetImageResource(thumbIds[position]); 
      return imageView; 
     } 

     // references to our images 
     int[] thumbIds = { 
     Resource.Drawable.Icon, Resource.Drawable.Icon, 
     Resource.Drawable.Icon, Resource.Drawable.Icon, 
     Resource.Drawable.Icon, Resource.Drawable.Icon, 
     Resource.Drawable.Icon, Resource.Drawable.Icon, 
     Resource.Drawable.Icon, Resource.Drawable.Icon, 
     Resource.Drawable.Icon, Resource.Drawable.Icon, 
     Resource.Drawable.Icon, Resource.Drawable.Icon, 
     Resource.Drawable.Icon, Resource.Drawable.Icon, 
     Resource.Drawable.Icon, Resource.Drawable.Icon, 
    }; 
    } 

这对我的工作