2017-09-19 15 views
-1

私はすべてのグループの最後の子を作り、テキストとボタンを編集しようとしています。私はカスタムのExpandableListViewAdapterを使用しています。これは私がこれまで持っていたものです。異なる子を含む展開可能なリストビュー

public override View GetChildView(int groupPosition, int childPosition, bool isLastChild, View convertView, ViewGroup parent) 
    { 
     if (convertView == null) 
     { 
      LayoutInflater inflater = (LayoutInflater)context.GetSystemService(Context.LayoutInflaterService); 
      convertView = inflater.Inflate(Resource.Layout.Children, null); 
     } 
     if (isLastChild==true) 
     { 
      EditText Submit = convertView.FindViewById<EditText>(Resource.Id.Submit); 
      Button button = convertView.FindViewById<Button>(Resource.Id.Button); 
      TextView textViewItem = convertView.FindViewById<TextView>(Resource.Id.DataValue); 
      textViewItem.Visibility = ViewStates.Gone; 
     } 

     else { 
      TextView textViewItem = convertView.FindViewById<TextView>(Resource.Id.DataValue); 
      EditText Submit = convertView.FindViewById<EditText>(Resource.Id.Submit); 
      Button button = convertView.FindViewById<Button>(Resource.Id.Button); 
      button.Visibility = ViewStates.Gone; 
      Submit.Visibility = ViewStates.Gone; 
      string content = (string)GetChild(groupPosition, childPosition); 
      textViewItem.Text = content; 
     } 
     return convertView; 
    } 

これはまた、第1グループの子どもたちの一部を切断しながらのEditTextとButtonを置くだけ最初のグループに役立ちます。

答えて

1

これは、EditTextとButtonを配置するのに役立ちますが、最初のグループのみに配置し、最初のグループの子を切り捨てることもできます。

ExpandableListViewはchildviewを再利用しますので、あなたは、最後の行は、あなたのボタンとのEditTextになりたい場合は、明示的に目に見えるに設定する必要があります。ちょうどあなたのGetChildViewメソッドにコードの3行を追加します。

​​
+0

これは一番下にそれを持つための素晴らしい作品が、私はあまり子供を持つグループを開くと、より多くの子供を持つグループは、情報の一部を削除してしまいます。複数のグループを開くと、子供の一部も取り除かれます。何がここで起こっているのか分からない! –

+1

申し訳ありませんが、 'textViewItem'に気づいていません。 'textViewItem.Visiblity'を明示的に可視に設定する必要もあります。私は答えを更新しました。小切手を持ってください。 –

+0

ありがとうございました!それは今、すべての気になるでしょう!私は近くに近づいて、ちょっと離れていたが、あなたの助けを借りて私はそれを得た! –

関連する問題