[リストへもどる]
一括表示
タイトル16日目:データ表示(任意の行ごと)
記事No5678
投稿日: 2020/02/24(Mon) 17:33
投稿者Tomo
最後のEmulatorでDBの一覧が出た瞬間は、おぉーと感動しましたが、
ほぼコピペで行ったので、何だかわからないけど出来た感じで、
コピペコーティングを復習したいのですが、

画面レイアウト的に確認したいのですが、
hotellis.xml で、
ListView で、@+id/android:list で指定し、

list_3item.xml で
text1、text2、text3 がそれぞれ、2カラム目、3カラム目、4カラム目
と対応していますが、


hotellis.xml の ListView の android:list で、
どうやって、list_3item.xml の3つのTextViewに対応できるのでしょうか?

タイトルRe: 16日目:データ表示(任意の行ごと)
記事No5679
投稿日: 2020/02/24(Mon) 17:48
投稿者Tomo
もう2点お願いします。


HotelList.java は、

//データ取得(カーソル)
cursor = db.query ....
で全カラムを取得しますが、

// アダプタ作成
SimpleCursorAdapter adapter = new Simp....


cursor, //
new String[]{"name", "address", "tel"}, // 表示するカラム名
ここで指定したカラムだけを抜き出せるという事でしょうか?




DBのオープン/クローズ的には、
MainActivity の方のonCreate の OpenDatabase は、初回のみテーブル作成/データ投入、クローズ
HotelList  の方のonCreate の OpenDatabase で、もう一回オープンして(?)
今度は、カーソル( cursor = db.query(.. ) 経由で読み、
とオープン/クローズを2度やる感じでしょうか?

タイトルRe^2: 16日目:データ表示(任意の行ごと)
記事No5684
投稿日: 2020/02/24(Mon) 22:54
投稿者サーチマン佐藤
> ここで指定したカラムだけを抜き出せるという事でしょうか?

はい、そうです。

> 今度は、カーソル( cursor = db.query(.. ) 経由で読み、
> とオープン/クローズを2度やる感じでしょうか?

データが無い時は2度やります。
データが出てきてしまった後は、
MainActivityのほうはやらないので、1度になります。

タイトルRe^3: 16日目:データ表示(任意の行ごと)
記事No5685
投稿日: 2020/02/24(Mon) 23:35
投稿者Tomo
> > ここで指定したカラムだけを抜き出せるという事でしょうか?
>
> はい、そうです。

ここは、new String[]{"no", "comment", "tel"},
などとすると、出力項目を変える事ができ確認できました。

タイトルRe^4: 16日目:データ表示(任意の行ごと)
記事No5690
投稿日: 2020/02/25(Tue) 10:54
投稿者サーチマン佐藤

> ここは、new String[]{"no", "comment", "tel"},
> などとすると、出力項目を変える事ができ確認できました。

はい、そんな感じになります。

タイトルRe: 16日目:データ表示(任意の行ごと)
記事No5683
投稿日: 2020/02/24(Mon) 22:54
投稿者サーチマン佐藤
> text1、text2、text3 がそれぞれ、
> 2カラム目、3カラム目、4カラム目
> と対応していますが、

HotelList.java中に以下の記述があると思います。
new String[] {"name","address","tel"}

そこで対応しています。

タイトルRe^2: 16日目:データ表示(任意の行ごと)
記事No5686
投稿日: 2020/02/24(Mon) 23:50
投稿者Tomo
いえいえ、それ以前に
hotellis.xml での ListView で、@+id/android:list
のList一つ一つがどうやって list_3item.xml 一つに対応ずくのか?
分かりません。

タイトルRe^3: 16日目:データ表示(任意の行ごと)
記事No5691
投稿日: 2020/02/25(Tue) 11:09
投稿者サーチマン佐藤
> いえいえ、それ以前に
> hotellis.xml での ListView で、@+id/android:list
> のList一つ一つがどうやって
> list_3item.xml 一つに対応ずくのか?
> 分かりません。


HotelList.javaでは、最初に
hotellistを呼んでいますね。
hotellistには、"@+id/android:list"が定義されています。

ここに、必要な項目を入れてあげれば、
後は、内部でAndoroidが勝手に繰り返し処理をして、
その項目を出してくれる。

一つ一つでなくて、
内部で勝手に繰り返し処理をしてくれる。
それが、@+id/android:listという、
特別なidという理解でいいかと。