从autocompletetextview向listview动态添加项目 public void autocompletemeth(){ //层次结构是代码VO或自动完成[开始] 最终AutoSuggestAdapter适配器=新的AutoSuggestAdapter(此,android.R.layout.simple\u下拉列表\u item\u 1line,lstProduct); ACTV.setAdapter(适配器); 动作设定阈值(1); ACTV.setOnItemClickListener(新的AdapterView.OnItemClickListener(){ @凌驾 public void onItemClick(适配器视图arg0、视图arg1、内部位置、长arg3){ 字符串selectedItem=(字符串)arg0.getItemAtPosition(位置); Boodschappenlst.add(选择编辑项); ACTV.setOnEditorActionListener(新的TextView.OnEditorActionListener(){ 公共布尔onEditorAction(TextView v、int actionId、KeyEvent事件){ if((event!=null&&(event.getKeyCode()==KeyEvent.KEYCODE_ENTER))| |(actionId==EditorInfo.IME_ACTION_DONE)){ Log.e(“标签”、“完成按下”); ACTV.setText(“”); } 返回false; } }); } //自动完成[结束] }); }

从autocompletetextview向listview动态添加项目 public void autocompletemeth(){ //层次结构是代码VO或自动完成[开始] 最终AutoSuggestAdapter适配器=新的AutoSuggestAdapter(此,android.R.layout.simple\u下拉列表\u item\u 1line,lstProduct); ACTV.setAdapter(适配器); 动作设定阈值(1); ACTV.setOnItemClickListener(新的AdapterView.OnItemClickListener(){ @凌驾 public void onItemClick(适配器视图arg0、视图arg1、内部位置、长arg3){ 字符串selectedItem=(字符串)arg0.getItemAtPosition(位置); Boodschappenlst.add(选择编辑项); ACTV.setOnEditorActionListener(新的TextView.OnEditorActionListener(){ 公共布尔onEditorAction(TextView v、int actionId、KeyEvent事件){ if((event!=null&&(event.getKeyCode()==KeyEvent.KEYCODE_ENTER))| |(actionId==EditorInfo.IME_ACTION_DONE)){ Log.e(“标签”、“完成按下”); ACTV.setText(“”); } 返回false; } }); } //自动完成[结束] }); },android,android-studio,Android,Android Studio,这是我的自动完成方法,它可以通过按“完成”键将项目添加到listview,然后在按下该键后键盘消失,自动完成文本设置为“”。我想让它更有活力。就像现在发生的情况一样,当用户单击suggestionslist中的项目时。它出现在Autocompletetextview字段,然后用户必须在键盘上按done,它就会出现在listview中。但我想要的是它直接添加到listview。当用户单击建议列表中的任何项目时,它不会进入文本字段,用户也不必按“完成”。它只需在click和textfield get

这是我的自动完成方法,它可以通过按“完成”键将项目添加到listview,然后在按下该键后键盘消失,自动完成文本设置为“”。我想让它更有活力。就像现在发生的情况一样,当用户单击suggestionslist中的项目时。它出现在Autocompletetextview字段,然后用户必须在键盘上按done,它就会出现在listview中。但我想要的是它直接添加到listview。当用户单击建议列表中的任何项目时,它不会进入文本字段,用户也不必按“完成”。它只需在click和textfield get reset上将该项添加到listview。
提前感谢。

将项目添加到
boodschappenst
后,您需要在相关的
列表视图的适配器上调用
notifyDataSetChanged()
。此方法应满足您的需要:

public void AutocmpleteMeth() {
    // Hieronder is het code voor Autocomplete [BEGIN]
    final AutoSuggestAdapter adapter = new AutoSuggestAdapter(this, android.R.layout.simple_dropdown_item_1line, lstProduct);
    ACTV.setAdapter(adapter);
    ACTV.setThreshold(1);

    ACTV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {

            String selectedItem = (String) arg0.getItemAtPosition(position);
            Boodschappenlst.add(selectedItem);
            ACTV.setOnEditorActionListener(new TextView.OnEditorActionListener() {
                public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                    if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (actionId == EditorInfo.IME_ACTION_DONE)) {
                        Log.e("TAG", "Done pressed");
                        ACTV.setText("");

                    }
                    return false;
                }
            });
        }
        //Autocmplete [END]
    });

}
public void autocompletemeth(){
//层次结构是代码VO或自动完成[开始]
最终AutoSuggestAdapter适配器=新的AutoSuggestAdapter(此,android.R.layout.simple\u下拉列表\u item\u 1line,lstProduct);
ACTV.setAdapter(适配器);
动作设定阈值(1);
ACTV.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共位置单击(AdapterView<?>arg0,视图arg1,内部位置,长arg3){
字符串selectedItem=(字符串)arg0.getItemAtPosition(位置);
Boodschappenlst.add(选择编辑项);
//在此处相关ListView的适配器上调用notifyDatasetChanged(),以识别新项目更改
ACTV.setText(“”);
}
//自动完成[结束]
});
}

sir notifyall()只有三种方法,延迟NotifyDataSetChanged和notify..我是说在您的listview适配器上<代码>适配器。notifyDatasetChanged()
顺便说一句,添加项目是在按键盘上的“完成”后发生的,因此我认为notify不会做很多工作。我已将您的方法更改为仅在单击项目时更新。尝试了相同的问题,就像我只是不希望用户单击键盘上的“按完成”按钮一样,它应该将其添加到listview并显示在我的“自动完成”下。。
public void AutocmpleteMeth() {
 // Hieronder is het code voor Autocomplete [BEGIN]
 final AutoSuggestAdapter adapter = new AutoSuggestAdapter(this, android.R.layout.simple_dropdown_item_1line, lstProduct);
 ACTV.setAdapter(adapter);
 ACTV.setThreshold(1);

 ACTV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView < ? > arg0, View arg1, int position, long arg3) {

    String selectedItem = (String) arg0.getItemAtPosition(position);
    Boodschappenlst.add(selectedItem);
    // Call notifyDatasetChanged() here on the related ListView's adapter here to recognise new item change
    ACTV.setText("");
   }
   //Autocmplete [END]
 });
}