SQLiteデータベースからリストを出力しようとしていますが、次の例外が発生しています。
android.content.res.Resources $ NotFoundException:xmlタイプのレイアウトリソースID#0x102000aからのファイル
同様の質問を確認した後、ListViewが@ id / android:listとして定義されていることを確認しましたが、それでも同じ例外が発生します。この問題は、ListActivityクラスのonCreateメソッドが完了すると発生します。getAllDiaryEntries()メソッドはdbからデータを取得しますが、ListActivityクラスに戻ってonCreateが終了すると、例外が発生します。コードの関連部分は次のとおりです。
これはListActivityクラスです。
public class DiarySchedule extends ListActivity
{
private DiaryDataSource datasource;
private static final String TAG = "DiaryDbAdapter";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.diary_schedule);
datasource = new DiaryDataSource(this);
datasource.open();
List<DiaryEntry> values = datasource.getAllDiaryEntries();
ArrayAdapter<DiaryEntry> adapter = new ArrayAdapter<DiaryEntry>(this,
android.R.id.list, values);
setListAdapter(adapter);
}
次に、getAllDiaryEntries()メソッドがあります。
public List<DiaryEntry> getAllDiaryEntries()
{
List<DiaryEntry> diaryEntries = new ArrayList<DiaryEntry>();
Cursor cursor = database.query(DiaryDbAdapter.DIARY_TABLE,
allColumns, null, null, null, null, null);
cursor.moveToFirst();
while (!cursor.isAfterLast())
{
DiaryEntry diaryEntry = cursorToDiaryEntry(cursor);
diaryEntries.add(diaryEntry);
cursor.moveToNext();
}
// Make sure to close the cursor
cursor.close();
return diaryEntries;
}
そしてレイアウト(スタイルもまだ何もありません):
<ListView
android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
私はまだAndroidに慣れていないので、簡単なことを見逃しているかもしれませんが、助けてくれてありがとう。
編集済み-これがcursortoDiaryEntryメソッドです
private DiaryEntry cursorToDiaryEntry(カーソルカーソル){DiaryEntry diaryEntry = new DiaryEntry(); diaryEntry.setId(cursor.getLong(0)); diaryEntry.setTitle(cursor.getString(1)); diaryEntry.setDate(cursor.getString(2)); diaryEntry.setDescription(cursor.getString(3)); diaryEntryを返します。}