새 질문 : SQLite 테이블의 문자열 배열 또는 커서에서 모두 아래 코드 조각을 사용할 수 있습니다. 이제는 테이블에서 이러한 값을 문자열 배열로 가져와 조작 할 수있는 방법을 lstAdapter로 표시 할 수 있습니까?
(많은 의견이 추가되기 전에 전체 소스를 제공 할 수 있지만 14 페이지의 10pt 최소 머리글 바닥 글).sqlite에서 커서 데이터를 문자열 배열
여기에서 다른 곳에서 많은 샘플을 시험해 보았습니다. 대부분은 내가 알아 내지 못한 오류를 생성하고, 나머지는 작동하지 않으므로 뭔가를 놓치고 있습니다.
이 구조가 결국 내 WIMM 하나에 대한 응용 프로그램의 일부가 될 것입니다, 그래서 그것이 최선의 방법인지 잘 모르겠어요 안드로이드 버전 7
//From my ...ListFragment:
//This works; I get "First", "Second", etc. listed on my screen:
//-----------------------
private SimpleCursorAdapter mAdapter;
private ListAdapter lstAdapter;
. . .
Log.d("RemindLF","S onCrt: NEW");
// an array of string items to be displayed
String[] strLstitems = new String[]
{"first", "Second", "Third", "Fourth"};
//
lstAdapter = new ArrayAdapter<String>(getActivity(),
R.layout.reminder_row, R.id.text1, strLstitems);
//
// Call to SetListAdapter()informs ListFragment how to fill ListView
setListAdapter(lstAdapter);
getLoaderManager().initLoader(0, null, this);
Log.d("RemindLF","X onCrt:" + strLstitems[0]);
//This also works; I get the values of one column from each record listed on my screen
//--------------------------
private ArrayAdapter aryAdapter;
. . .
Log.d("RemindLF","X onCrt: BASE");
String[] strItems = new String[]
{
ReminderProvider.COLUMN_BODY
};
Log.d("RemindLF","X onCrt:strI:" + strItems[0]);
int[] iCnt = new int[]
{
R.id.text1
};
mAdapter = new SimpleCursorAdapter(getActivity(),R.layout.reminder_row,
null, strItems, iCnt, 0);
setListAdapter(mAdapter);
getLoaderManager().initLoader(0, null, this);
//Other pieces
//------------
//Loader set-up:
@Override
public Loader<Cursor> onCreateLoader(int ignored, final Bundle args)
{
Log.d("RemindLF","S LoadCSR");
return new CursorLoader(getActivity(), ReminderProvider.CONTENT_URI, null, null, null, null);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor)
{
Log.d("RemindLF","S LoadFin");
mAdapter.swapCursor(cursor);
}
REMINDER_LIST.XM:L
<?xml version="1.0" encoding="utf-8"?>
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
android:name="com.dummies.android.taskreminder.ReminderListFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
REMINDER_ROW.XML:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dip" />
답장을 감사드립니다. 기본적으로 그렇게했습니다. 내 문제는 책의 샘플에서 oncreate 메서드로 수행 된 simplecursoradapter를 사용한다는 것이 었습니다. 그래서이 사이트와 다른 사이트의 샘플을 샘플로 가져 와서 커서를 액세스했습니다. 커서가 정의되지 않았기 때문에 다양한 오류가 발생했습니다. 나는 마침내 onLoadFinished에서이 작업을 수행해야한다고 생각했으며, 모든 작업이 완료되었습니다. 많은 감사, 클라크 – ClarkG