2016-11-17 10 views
-5

アンドロイドでタグのコメントシステムを作成するFacebookと同じです。 コメント欄に@を挿入して、友達のリストを表示すると、 1人の友人を選んでください。私はこのタイプのコメントシステムをFacebookと同じにしたい。アンドロイドでタグのコメントシステムを作成する

+0

EditText(またはAutoCompleteTextView)にTextWatcherを追加し、入力テキストを監視します。 '@'に遭遇した場合は、サービスコールを起動するか、データベースから関連する一致を取得します。 –

+0

例またはコードで説明してください。 – user2002721

+4

「例やコードを説明してくれてありがとうございます」つまり、私はあまりにも怠惰であるか、自分自身でこのことを行うことができないため、要求を出して誰かを無料のコーディングサービスとして使いたい。 – Steve

答えて

1

EditTextでテキストが変更されるたびにトリガーされるTextWatcherを設定できます。次に、@が見つかった後にRegexを使用して、@nameの後にスペースがあるかどうかを調べることができます。ある場合は、別のUI要素をポップアップして、特定のRegexに一致する友人のListViewを表示させることができます。

// Declare listening as a member variable 
    commentInput.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { 

     } 

     @Override 
     public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { 
      // Listen until space 
      String text = charSequence.toString(); 
      if (text.contains("@")) { 
       listening = true; 
       int index = text.split("@").length; 
       String textToSearchFor = text.split("@")[index]; 
       // Use textToSearchFor to search for friends, 
       // and if you get results then set a UI element 
       // to appear: listView.setVisibility(View.VISIBLE); 
       // on click of ListView element, stop listening 
      } else if (text.substring(0, text.length() - 1).equals(" ")) { 
       // If the latest character is a space, then stop listening 
       listening = false; 
      } 
     } 

     @Override 
     public void afterTextChanged(Editable editable) { 

     } 
    }); 
+0

thanx Farazあなたのコードを試します。 – user2002721

+1

歓迎です。今すぐ試してみてください。更新してください。 – Faraz

+0

@ user2002721私の答えが正しいと印を付けてください。ありがとう。 – Faraz

関連する問題