スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ArrayAdapterを作成するときのエラー解決メモ

2011年01月30日 16:02

ListViewで一覧表示するときには、
ArrayAdapterを作成して一覧表示を作成する。

こんな感じで、ListViewを作ろうとしてみる。
でも、実行エラーとなった。DDMSとかでエラー内容を確認すると、

ArrayAdapter requires the resource ID to be a TextView

こんなエラーが出る。これは、ArrayAdapterはTextViewのIDが必要だけど
main.xmlのレイアウトファイルにTextViewのIDがありませんよという意味みたい。

ってことで、main.xmlに追加してみた。 追加したけど、まだエラーが出て実行できない。
レイアウトファイル全体ではダメなのかと思って、
とかにして試したけど、同じエラーが出る。

いろいろ調べたら、
http://android.iku4.com/Entry/4/
ここでTextViewのレイアウトを別ファイルに分ければいいというのを見つけたので、
試したら、実行できるようになった!!!

・・・出来たのはよかった。でも「なんで?」ってのが消えないのは気持ちが悪いな~っと思ったので少し試したら簡単に理由がわかった。


ListViewに使うTextViewは、TextViewに一行分のデータとかを表示してそれを一覧表示してるような動作みたい(ここは推測だけど)。
だから、レイアウトで縦方向に伸びるようなのは出来ないみたい。

【結論】
ArrayAdapterに使用する、TextViewを含めたレイアウトファイルに縦方向のレイアウト(android:orientation="vertical")を含んではいけない。
でも、水平方向でレイアウトを組む分には大丈夫みたい。
水平方向が出来るということは、いろいろカスタマイズが出来るようなのでそれを利用して http://android.roof-balcony.com/view/listview/custom/
ここに書いてあるようなこともできるみたい。

【Sample】
rowdata.xml main.activity(抜粋)


コメント

  1. やっすん | URL | mQop/nM.

    Re: ArrayAdapterを作成するときのエラー解決メモ

    ArrayAdapter にセットするXMLレイアウトは、トップ要素が TextView じゃないとダメみたいです。

    ArrayAdapter requires the resource ID to be a TextView XML problems
    http://stackoverflow.com/questions/9280965/arrayadapter-requires-the-resource-id-to-be-a-textview-xml-problems
    →"first element must be a TextView"

コメントの投稿

(コメント編集・削除に必要)
(管理者にだけ表示を許可する)

トラックバック

この記事のトラックバックURL
http://individualmemo.blog104.fc2.com/tb.php/56-aca7d7fd
この記事へのトラックバック



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。