java - 如何从 AutoCompleteTextView 中选取文本并将其显示在 ListView 中?

标签 java android android-layout android-linearlayout

public class MainActivity extends AppCompatActivity {
AutoCompleteTextView et;
Button bt;
ListView lt;
ArrayList<Double> addArray = new ArrayList<Double>();
String getInput;
double sum = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

//创建了用于显示列表的适配器,R.array.veggi是包含蔬菜名称的资源文件

    String[] veggi = getResources().getStringArray(R.array.veggi);
    ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, veggi);
    lt.setAdapter(adapter1);

    et = (AutoCompleteTextView) findViewById(R.id.Et);
    bt = (Button) findViewById(R.id.bt);
    lt =  (ListView)findViewById(R.id.listview);



    // btton to show text or numbers entered in AutoCompleteTextView
    bt.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            getInput = et.getText().toString();
             double inp = Double.parseDouble(getInput);

            if (addArray.contains(getInput)) {
                Toast.makeText(getBaseContext(), "Item Already Added to array", Toast.LENGTH_SHORT).show();
            } else if (getInput == null || getInput.trim().equals(" ")) {
                Toast.makeText(getBaseContext(), "Input field is Empty", Toast.LENGTH_SHORT).show();

            } else {
                addArray.add(inp);
                ArrayAdapter<Double> adapter = new ArrayAdapter<Double>(MainActivity.this, android.R.layout.simple_list_item_1, addArray);
                lt.setAdapter(adapter);


                ((AutoCompleteTextView) findViewById(R.id.Et)).setText(" ");
            }
        }
    });       
  }
}

//创建了用于显示列表的适配器,如果我删除此代码,它将显示在 LisView 中输入的文本,但我想显示建议并从中选择单词,例如 google 搜索种类

String[] veggi = getResources().getStringArray(R.array.veggi);
        ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, veggi);
        lt.setAdapter(adapter1);

最佳答案

问题就在这里

 ArrayList<Double> addArray = new ArrayList<Double>();
 ArrayAdapter<Double> adapter = new ArrayAdapter<Double>(MainActivity.this, android.R.layout.simple_list_item_1, addArray);

将其更改为...

ArrayList<String> addArray = new ArrayList<String>();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, addArray);

关于java - 如何从 AutoCompleteTextView 中选取文本并将其显示在 ListView 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56522909/

相关文章:

java - 断言数组等于

android - 当 EditText 获得焦点时,CollapsingToolbarLayout 不会折叠

Android Studio 为每个模块安装一个 APK

android - 无法在我的自定义 ArrayAdapter 中访问 R.layout.mylayoutname

android - 在android中单击键盘中的下一个按钮时自动滚动edittext

java - 如何在 Hibernate 中维护/生成表以用于多用户目的?

java - 返回 2 个不同的字符串

android - 如何创建包含两边带有按钮的 TextView 的布局

java - 需要 mysql 的 hibernate 属性

android - 如何在android中单击时更改按钮颜色