うまくいかないというエラーがあります。私は何時間もそれに取り組んできましたが、どこを見ても同じ反応が返ってきました。
したがって、アクティビティを呼び出すメソッドは次のとおりです。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Fragment fragment;
FragmentManager fm = getSupportFragmentManager();
switch (item.getItemId()) {
case R.id.action_add:
actionBar.hide();
Toast.makeText(this, "Let's add a dream", Toast.LENGTH_SHORT)
.show();
fragment = new addDreamFragment();
fm.beginTransaction()
.replace(R.id.container, fragment)
.commit();
break;
case R.id.action_view:
Toast.makeText(this, "Let's see those dreams...", Toast.LENGTH_SHORT)
.show();
Intent i = new Intent(MainActivity.this, DreamListActivity.class);
startActivity(i);
break;
case R.id.action_share:
Toast.makeText(this, "Menu item 2 selected", Toast.LENGTH_SHORT)
.show();
break;
default:
break;
}
actionBar.show();
return true;
}
FragmentActivity から ListActivity への呼び出しです。
これは私が受け取り続けるエラーです:
06-23 09:02:54.033: ERROR/AndroidRuntime(2035): FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{swin.examples.cloud/swin.examples.cloud.DreamListActivity}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
メイン用、リスト アクティビティ用、リスト アダプター生成用の 3 つの xml ファイルがあります。誰か助けてくれませんか?また、フラグメント内からリストアクティビティも開始したいと思います。その作業を行うための助けもいただければ幸いです。
XML ファイル 1: フラグメント アクティビティのメイン レイアウト:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/container" />
XML ファイル 2: ListActivity のレイアウト: エディターが奇妙で表示されません。それは単なる FrameLayout 宣言です。
XML ファイル 3: リスト ビュー
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5sp"
android:textSize="25sp" >
<!--Creates the row for the ListAdapter in the ListActivity. -->
<ListView
android:id="@+id/android:list"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_dreams" />
</TextView>