【问题标题】:How to pick the text form an AutoCompleteTextView and show it in a ListView?如何从 AutoCompleteTextView 中选择文本并将其显示在 ListView 中?
【发布时间】:2019-06-10 08:27:14
【问题描述】:
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 search kindof

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);

【问题讨论】:

    标签: java android android-layout android-linearlayout


    【解决方案1】:

    问题来了

     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);
    

    【讨论】:

    • 将 Recyclerview 与自定义适配器一起使用
    猜你喜欢
    • 2015-07-02
    • 2020-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多