2012-01-18 47 views
0

我已經在我的應用程序中實施了搜索欄,它工作正常, ,但此刻我也想顯示一個圖標在自定義建議的右側。Android:searchbar - >自定義建議與圖標

developer.android.com說,我必須添加一個列「SUGGEST_COLUMN_ICON_2」與引用的圖像。

問題是我不知道如何將其添加到我的光標,因爲這不能通過SQL來完成。

我想要設置的圖像取決於我的光標的某個列(狀態)獲得的值。

String sql="SELECT U._id, U.name AS suggest_text_1, C.status FROM table1 AS U LEFT OUTER JOIN table2 AS C ON U.number=C.number WHERE suggest_text_1 LIKE \"%"+selectionArgs[0]+"%\" ORDER BY suggest_text_1 ASC" 

我想要使用的圖像在可繪製文件夾中。

table1中已經得到了:_id,名稱,編號

表2得到了:_id,數量,狀態,...

+0

創建您的圖片在繪製文件夾列表的表,然後用可繪製參考表像表的外鍵 - STATUS_ID,繪製---然後從另一個表中引用status_id,這將使您獲得可繪製的。 – 2012-01-18 19:01:30

回答

0

確定。在你的情況下,你的table2將有數字,狀態,可繪製的字段。可繪製的領域將有你的圖像,應該做你的伎倆。即使您可以省略數字字段並立即加入status_id。

例如:

table1 id int ,name varchar(?),table2_id int fk references table2(id) -- 
table2 id int pk,status varchar(?),status_drawable_id int fk references drawables_table (id) 
drawables_table id int pk ,drawables varchar(?) -- 

select t1.id,t1.name,t2.status,dt.drawable from table1 t1 
inner join table2 t2 
on t1.status_id=t2.id 
inner join drawables_table dt 
on t2.status_drawable_id=dt.id 
where t1.name like '% blech %' 
order by t1.name 
+0

聽起來很不錯。 不幸的是,我將不得不創建一個狀態和可繪製的第三張表。 現在剩下的問題是,我如何創建sql語句,以便結果從table1獲取id和名稱並從table3中繪製。 因爲得到正確的語句仍然需要table2,所以創建sql語句很麻煩。 – anonymous 2012-01-18 19:39:12

+0

爲什麼你需要第三張桌子?你可以添加一個可繪製的字段到第二個表中?並通過使用外鍵的聯接進行檢索。你應該發佈你的create table語句。 – 2012-01-18 19:42:49

+0

因爲我的table2有很多行,並且只有4種不同的狀態。 將drawable額外保存到table2中的狀態會產生不必要的數據開銷。 另外我將不得不改變2個數據字段,如果狀態會改變。 第三張桌子我永遠不會編輯agein。 – anonymous 2012-01-18 19:46:50