Ничего не видно в ListFragment

Это мой код ListFragment. Который создает simpleCursorAdaptor, а затем использует его для заполнения представления списка.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.d("Anuranjit", LaunchActivity.selectedDate);
    SQLiteDatabase allDatabase2 = new TaskDatabaseManager(getActivity()).getWritableDatabase();
    Cursor allDetail = allDatabase2.rawQuery("Select "+ TaskDatabaseManager.KEY_ROWID + ","+ TaskDatabaseManager.TASK_TIMES + ","+ TaskDatabaseManager.TASK_DESCRIPTION + " from "+ TaskDatabaseManager.DATABASE_TABLE + " where "+ TaskDatabaseManager.TASK_DATE + "= '"   + LaunchActivity.selectedDate + "'", null);
    String[] fromColumns = { TaskDatabaseManager.TASK_TIMES,
            TaskDatabaseManager.TASK_DESCRIPTION };
    int[] toView = { R.id.Time, R.id.TaskDescription };
    allDetail.moveToFirst();
    setListAdapter(new SimpleCursorAdapter(getActivity(),R.layout.layout_for_cursor, allDetail, fromColumns, toView, 0));
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_layout, container, false);
}

Это класс ListFragment. Теперь мой файл activity_main.xml выглядит следующим образом

   <android.support.v4.widget.DrawerLayout       xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Main_Layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/MainContentLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
</FrameLayout>

<ListView
    android:id="@+id/Date_List"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="#111"
    android:choiceMode="singleChoice"
    android:divider="@android:color/holo_blue_bright"
    android:dividerHeight="0dp" />

   </android.support.v4.widget.DrawerLayout>

Теперь проблема в том, что я не получаю никаких данных в int ListFragment.Code для фиксации ListFragment внутри onCreate() в основной деятельности

            Fragment taskFragment = new TaskFragment();
    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager
            .beginTransaction();
    fragmentTransaction.add(R.id.MainContentLayout, taskFragment);
    fragmentTransaction.commit();

и фрагмент_layout.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/MainContentLayout1"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >

<ListView
    android:id="@id/android:list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:drawSelectorOnTop="false" />

 <TextView android:id="@id/android:empty"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:text="No data"/>
    </LinearLayout>

А я только начал изучать андроид.


person Anuranjit Maindola    schedule 02.08.2013    source источник
comment
Попробуйте отладить, извлекаете ли вы что-либо из БД. Перед setListAdapter попробуйте записать вывод allDetail.getCount()   -  person petlack    schedule 02.08.2013
comment
Да, я ничего не получаю от курсора, почему?   -  person Anuranjit Maindola    schedule 02.08.2013


Ответы (1)


Ваш курсор пуст. Причина может заключаться в том, что проблема может быть вызвана сравнением дат. Попробуйте использовать метод YourDatabase.query() для запроса базы данных. См. здесь: http://developer.android.com/training/basics/data-storage/databases.html

person Community    schedule 11.03.2014