2015-08-08 37 views

回答

2

我想答案已經提供的舊帖子,

聽輸入。當用戶輸入一個@,後跟一個 角色,做出一個網址的呼叫服務器 (/用戶/查詢/?用戶名=喬例如)上的路由到 查找了用戶與喬開頭的視圖。將其作爲json返回並在下拉菜單中顯示它 。

爲了使得更簡單,您需要使用@作爲將用於理解用戶名開頭的關鍵字。

例如用戶鍵入以下信息

...與@nour在紐約

在Java中

您可以使用正則表達式檢測@

boolean foundMatch = false; 
Pattern regex = Pattern.compile("\\b(?:@)\\b"); 
Matcher regexMatcher = regex.matcher(subjectString); 
foundMatch = regexMatcher.find(); 

這將匹配如果輸入字符串有一個@關鍵字

現在一旦你得到了@關鍵字取之後的所有字符直到你得到一個空白。在這個例子中,應該是從@之後開始並在white space之前結束的結果。

在服務器部分,你可以在識別名稱作爲USER_NAME

SELECT * FROM USERS WHERE USER_NAME = "nour"; 

中,當然用戶名必須是絕無僅有的。

希望它有幫助。

+0

請你可以看看這個。 https://zunostudios.com/blog/development/176-how-to-implment-hashtags-and-callouts-in-android,可否請你告訴我要從數據庫而不是簡單的數組中做出改變。我應當具備規定的同一類或我可以把它簡單 – Rawan

+0

我跑他們的項目也沒有,這不是我想做的事情.. :(還是輸了。任何教程? – Rawan

+0

我需要你的幫助,像這樣的事情..http://stackoverflow.com/questions/25765364/parse-auto-suggestion-query-results-based-on-app-data我想添加一個評論他的問題,但我沒有足夠的聲譽:( – Rawan

1

它主要由AutoCompleteTextView完成和處理的關鍵事件。我不能寫這樣的代碼。我可以給你簡單的主要想法。您可以通過overrinding onKeyUp()方法

@Override 
public boolean onKeyUp(int keyCode, KeyEvent event) { 
    switch (keyCode) { 
    case KeyEvent.KEYCODE_AT: 
     // @ is clicked 
     // get the usernames 
     return true; 
    default: 
     return super.onKeyUp(keyCode, event); 
    } 
} 

現在你應該開始從數據庫中獲取用戶名,把他們的AutoCompleteTextView轉接器內聽鍵盤用戶點擊根據用戶輸入和當用戶選擇一個要過濾朋友或某人被提及「或許多」您將它們添加到ArrayList並將通知推送給它們。

+0

你有教程或任何這個? – Rawan

+0

@AdamahNour不,不幸的是,你必須單獨學習 – SaNtoRiaN

相關問題