2013-08-26 77 views
2

我必須將一些預定義值設置爲MultiAutoCompleteTextView(在我從建議下拉列表中進行選擇之前)。就像您從下拉列表中選擇了2-3個項目一樣。在設置了這些預定義的值之後,我再次想從列表中繼續正常的過濾過程並將其添加到MultiAutoCompleteTextView將預設值設置爲MultiAutoCompleteTextView:Android

它看起來像這樣

Predefined1, Predefined2, Predefined3, 

如果我做的setText(...),就如同使用TextViewEditText,具有一定的逗號分隔值,它認爲它爲1個整詞並添加一個逗號最後。

請建議我該如何實施它。

編輯:

好。讓我詳細解釋一下。我正在努力實現像thisthis。但是,從這個額外的要求是,除了從建議中選擇值下拉,我還需要設置一些預定義的值,當顯示視圖時,當我寫東西並按下輸入/隱藏鍵盤時,無論我寫什麼都應該轉換成按鈕文本。 如果這是不可能的,還有其他的選擇嗎?請建議。

編輯:

enter image description here

這些值應該是有鑑於在不脫離下拉選擇向下。之後,無論哪個用戶從建議中添加下來,這些也應該添加到列表中。

這就像用戶開始輸入之前設置提示或一些文字EditText

謝謝。

+1

請不要讓我的名聲50去浪費爲連續第2次:( – Braj

+0

所以,以確保我理解正確的話,你需要下拉自動完成列表視圖初始化時需要添加某些值以及用戶鍵入的其他值嗎? –

+0

除此之外,這些預定義的值需要在初始化時在MultiAutoCompleteTextView中。附上示例圖片請看看它 – Braj

回答

5

嘗試以下操作:

ArrayList<String> data=new ArrayList<String>(); 
    data.add("Predefined1"); 
    data.add("Predefined2"); 
    data.add("Predefined3"); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        android.R.layout.simple_dropdown_item_1line, data.toArray()); 
      MultiAutoCompleteTextView textView = (MultiAutoCompleteTextView) findViewById(/*View id*/); 

MultiAutoCompleteTextView.CommaTokenizer tokenizer=new MultiAutoCompleteTextView.CommaTokenizer(); 

      textView.setAdapter(adapter); 
      textView.setTokenizer(tokenizer); 

    textView.setOnEditorActionListener(new TextView.OnEditorActionListener(){ 
    @Override 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
      if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) { 
       data.add(v.getText().toString()); 
       adapter.notifyDataSetChanged(); 
       return true;  
      } 
      return false; 
     } 

    }); 

textView.setText("Predefined1,"); 
tokenizer.terminateToken("Predefined1"); 


textView.setText(textView.getText().toString()+"Predefined2,"); 
tokenizer.terminateToken("Predefined2"); 

textView.setText(textView.getText().toString()+"Predefined3,"); 
tokenizer.terminateToken("Predefined3"); 
+0

謝謝你的支持答案。我會試試。 – Braj

+0

我編輯了我的問題。請看看它。 – Braj

+0

嘗試修改後的代碼。 –