2016-10-09 25 views
0

リストビューにアイテムを追加すると、リストビューに追加されたアイテムが表示されません。 Itemをアダプタに追加すると、リストビューのように見えますが...うまくいきません。私の失敗はどこですか?リストビュー(追加/削除/編集)の例もありますか?Androidリストビュー項目追加と削除

アダプターコード

android.content.Context Context; 
    LayoutInflater inflater; 

    ArrayList<Item> Items=new ArrayList<>(); 



    public MyAdapter(Context Context) 
    { 

     this.Context=Context; 

    } 


    @Override 
    public int getCount() { 
     return Items.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     return Items.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     return 0; 
    } 

    public void AddItem(Item item) 
    { 
     Items.add(item); 
     MyAdapter.this.notifyDataSetChanged(); 
    } 
    @Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 
     ImageButton BtnSil; 
     inflater=(LayoutInflater) Context 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View view=inflater.inflate(R.layout.fragment_lstview,parent,false); 

     BtnRemove=(ImageButton)view.findViewById(R.id.Remove); 

     BtnRemove.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Urunler.remove(position); 
       MyAdapter.this.notifyDataSetChanged(); 
      } 
     }); 
     return view; 
    } 

項目は、コード

adapter.AddItem(SecilenUrun); 
+0

これに従ってください:http://stackoverflow.com/a/22145297/1406172 –

答えて

0

それは更新する必要があります。ビューを再構築することは大きな浪費とエラーですが、それはうまくいくはずです。最も疑わしいのは、0を返すgetItemId(int position)です。ビューがIDを静的として扱う場合、多くの場合、更新が行われず、画面上の値も変更されません。通常、デフォルトは戻り位置、または項目の適切なハッシュ値です。

しかし、確かに更新する必要があります。 Urunlerはそのポジションのために呼び出された削除を持っているが、すべてのエントリが同じに見えるだろう。これは、アイテムの数以外は大きく異なって見えません。

+0

私はあなたの悲しい –

関連する問題