2017-04-26 8 views
1

例外の下にコードを実装すると、次の例外が発生します。Java.lang.Illegal State Exception:特定の子が既に親を持っています

Java.lang.IllegalStateException:特定の子がすでに親を持っています。子の親のremoveView()を最初に呼び出す必要があります。

using System; 
using Android.Support.V7.Widget; 
using Android.Views; 
using Android.Widget; 
using Android.App; 

namespace Recycle.Droid 
{ 

    internal class albumadapter1 : RecyclerView.Adapter 
    { 
     // private int[] imageid; 
     // private Photo_album palbum; 
     // private _Recycler _Recycler; 
     private int[] imageid; 
     private Activity mainActivity; 

     public albumadapter1(Activity context, int[] imageid) 
     { 
      this.mainActivity = context; 
      this.imageid = imageid; 
     } 
     public override int ItemCount 
     { 
      get 
      { 
       return imageid.Length; 
      } 
     } 

     public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) 
     { 
      PhotoViewHolder vh1 = holder as PhotoViewHolder; 
      vh1.img.SetImageResource(imageid[position]); 
      //vh.Caption.Text = palbum[position].Caption; 
     } 

     public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) 
     { 
      var itemview = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.view_holder, parent); 
      PhotoViewHolder vh = new PhotoViewHolder(itemview); 
      return vh; 
     } 
    } 
    public class PhotoViewHolder : RecyclerView.ViewHolder 
    { 

     public TextView tv { get; private set; } 
     public ImageView img { get; private set; } 

     public PhotoViewHolder(View itemView) : base(itemView) 
     { 

      img = itemView.FindViewById<ImageView>(Resource.Id.imageView1); 
      // var Caption = itemView.FindViewById<TextView>(Resource.Id.textView); 
      // public PhotoViewHolder(IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer) 

     } 
    } 
} 

問題をお手伝いください。

答えて

1

あなたの問題以下のコードにFalseを追加

を解決します....... ... ... ... 。 public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent、int viewType) { var itemview = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.view_holder、parent、false); PhotoViewHolder vh =新しいPhotoViewHolder(itemview); return vh; } ..... ... .. 。

+0

これは私のために働いた、パスからの特定のイメージの選択を説明し、recyclerViewに送ることができますか?私は変数に割り当てられたuri(選択されたアイテムのアドレス)を持っています。そのディレクトリの完全な画像私はuriに存在する単一のアイテムが必要です。助けて。 –

関連する問題