2017-10-23 9 views
0

リストビューとアダプタが設定されています。私がoncreate()メソッドでadapter.add()を使って項目を追加すると、すべて問題ありません。アダプタが更新されたときのリストビューのグレースペース

enter image description here

これは、項目を追加するコードです::私はそれがリスナーの谷追加したときの項目が他の項目の下にあるかのようにしかし、それは、この奇妙な灰色のスペースを作成します

   ArrayList<Task> newTasks = new ArrayList<>(Arrays.asList(parser.ParseTasksJson(result))); 

       for (int i =0; i < 3;i++) 
       { 
        Task task = new Task(i, "Item" + i, 0); 
        tasks.add(task); 
       } 

       for(Task t : newTasks) 
       { 

        adapter.add(new Task(t.getTask_id(), t.getTask_title(), t.getTask_done())); 
       } 
       adapter.add(new Task(99,"Task after forloop", 0)); 

       adapter.notifyDataSetChanged();`enter code here` 

そして、これは私のレイアウトです:

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

    <include layout="@layout/toolbar_home"/> 

    <ListView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/listview"> 
    </ListView> 
</LinearLayout> 

編集:私は十分ではありませんでした。本当の問題は、パーサからの項目がアダプタに追加されてもリストビューに表示されないという事実です。更新されたコードを参照してください。あなたのコードが正しく動作している

+0

doroid android:divider = "@ null" android:dividerHeight = "1dp" – Mohammad

+0

リスナーは実際に呼び出されていますか?あなたはそれをチェックしましたか? –

+0

@ GiovanniTerlingenはい、アイテムは実際にアダプタに追加されますが、リストビューには表示されません。 –

答えて

1

、しかし問題は、この行である:

adapter.add(new Task(t.getTask_id(), t.getTask_title(), t.getTask_done())); 

私には、あなたのデータが有効なタイトル、およびレイアウトを含んでいないようだ、値が正しいことを確認しますアイテムの高さはwrap_contentです。つまり、アイテムは追加されますが、コンテンツがないために十分に高くはありません。

その理由は、奇妙な灰色のスペースは、実際にはいくつかのアイテムですが、見るには十分な大きさではありません。