2011-01-22 10 views
2

私は私のアプリを実行しようとするたびに、次の例外がスローされます。なぜ私のAndroidアプリは、既に定義されているときにListView idを定義する必要があると教えてくれますか?

1月22日00:40:51.868:ERROR/AndroidRuntime(2219):java.lang.RuntimeException:活動ComponentInfoを{開始できません[編集済み]}:java.lang.RuntimeException:だから

<ListView 
android:id="@+id/list" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:dividerHeight="1px"></ListView> 

:あなたのコンテンツは、そのID属性ここにandroid.R.id.list "

が問題のリストビューのマークアップされているリストビューを持っている必要がありますidは明確に "リスト"として定義されているので、ここで何を与えるか?私は過去数時間で私のコードを何度も実行してきたが、これの原因を突き止めようとしたが、私は困惑している。誰でもポインタを提供できますか?

+0

あなたはlistviewとjaveファイルのコードを定義するxmlのコードを貼り付けることができますか? –

答えて

-1

こんにちはTodd XMLでリストビューのIDを指定します。 thst idは、Javaクラスで宣言したいと思います。 Javaクラスの

XML &のサンプルコードを

リストビューリスト=(リストビュー)findViewById(R.id.list)。

0

あなたはaccidentlをインポートしたと思います。android.Rパッケージ。

インポートを削除しても問題ありません。

5

おそらくあなたのクラスComponentInfoListActivityは、したがって、あなたのListViewオブジェクトがレイアウトのXMLファイルに次の属性を持たなければならないことを保証拡張されています

android:id="@android:id/list" 
3

が実際にandroid.R.id.list」との間に差があります「単に "R.id.list"

<ListView android:id="@android:id/list" /> 

と同じリストではありません3210

最初のものはアンドロイドフレームワークにあらかじめ定義されたIDを持っています。つまり、あなたのためにバックグラウンドで自動的に行われるものがいくつかあります。あなたのXML内と対応するJavaクラスは、あなたのリストには、任意の項目を持たない場合、TextViewには自動的に表示されますListActivityを拡張することが、上記のレイアウトを考える

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:width="match_parent" 
    android:height="match_parent"> 

    <ListView 
     android:width="match_parent" 
     android:height="match_parent" 
     android:id="@android:id/list" /> 

    <TextView 
     android:width="wrap_content" 
     android:height="wrap_content" 
     android:id="@android:id/empty" 
     android:text="You don\'t have any items yet." /> 
</LinearLayout> 

と、それはまた、以下となります。以下の例を考えてみましょうリストが最初の項目を取得すると自動的に非表示になります。

+1

実際のxmlであることをテストすれば、実際には@namespace:name/ressource - > "@android:id/list"ということに気付くでしょう。あなたはあなたの答えを編集し、すべての@ id/androidを修正する必要があります:。それは間違っている –

+0

まあ、実際にこのリソースによると、私のXMLマークアップは正しいようです:http://developer.android.com/reference/android/app/ListActivity.html – dbm

+0

私はその構文を見たことがないので、 docには@android:id/listと書かれています。 –

関連する問題