2011-04-15 50 views
1

我必須在android中使用數據庫創建應用程序。在該數據庫中,我有一個預定義的產品列表。無法從自動完成文本中獲取文本

現在,事情是,我的ap必須向用戶提供在該列表中引入一些不在列表中的其他產品的可能性。

爲此,我創建中,我介紹一個新產品的自動填充文本視圖,我把文本來回自動完成,我要在數據庫中寫現在

,我的問題是,當我展示了我在數據庫中引入的產品,用於顯示我在數據庫中所擁有的敬酒文本,它在「產品......」旁邊沒有顯示任何內容。

現在,這可能是因爲當我嘗試從自動填充中獲取文本時,我得不到任何迴應?

這是我如何從自動完成閱讀:

mItem = (AutoCompleteTextView) findViewById(R.id.todo_edit_item); 

String nou=mItem.getText().toString(); 

然後我比較諾坎普(這是我在自動完成寫)與我在列表中已predefnied,因此,如果它是一個新產品(這是不在列表中的話)的我添加在數據庫:

for(int i = 0; i < l; i++) 

    { 


     if (nou!=fruits[i]) 
       t=true; 
     else t=false; 

    } 
    if (t==true) 
    { 
     db.insertTitle(nou); 
     fruits=db.getAllfromDB("Fruits","fruit"); 
     l=l+1; 
    } 

任何人的什麼我在這兒做錯了任何想法,因爲我想不通out.I'lll在這裏爲請提前致謝:)

回答

0

您使用!=比較字符串,而不是使用!nou.equals(fruits[i])。你也要每次比較數組中的所有元素,因爲t總是與數組中最後一個元素的比較值,無論是否找到匹配。

應該這樣寫的是:

t = true; 
for(int i = 0; i < l; i++) 
{ 
    if (nou.equals(fruits[i])) 
    { 
      t=false; 
      break; 
    } 
} 
if (t==true) 
{ 
    db.insertTitle(nou); 
    fruits=db.getAllfromDB("Fruits","fruit"); 
    l=l+1; 
} 
+0

是的,我理解,但我總介紹的東西是不是在列表中,我總是什麼也得不到顯示....是正確的,我從自動完成讀取如何?Thx – Gaby 2011-04-15 20:26:16

+0

嗯,我試過了,但仍然沒有顯示......我真的那是因爲它無法讀取自動完成我推薦的產品 – Gaby 2011-04-15 20:34:22

+0

每次在循環之前添加nou打印,因爲它可能會返回全文,你可以使用split() – MByD 2011-04-15 20:37:21