java - 如何从 AutoCompleteTextView 中选择文本并将其显示在 ListView 中?
问题描述
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);
解决方案
问题来了
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);
推荐阅读
- typescript - 如何使用 tsconfig 编译单个 TS 文件?可选在 ts-node?
- bash - 脚本bash递归合并目录并为公共文件执行函数
- javascript - 名称“JavaScript”是“ECMAScript”的不正确同义词吗?
- ldap - 带有 Impala 的 Apache Sentry - 分配给 LDAP 中组的角色不会反映
- sql-server - SQL_VARIANT 和 DATETIME2
- mysql - 如果为 NULL,MySQL 更新/连接列,使用来自其他列的数据
- php - 在 Kubernetes 中部署 Wordpress 的存储策略
- python - Python 国际象棋极小极大算法 - 如何玩黑棋(Bot 有白棋)
- r - 如何使用单个直方图演示样本均值的平均值
- node.js - 在 Cloud Function Shell 中使用 Express App 调用 HTTP 函数时如何传递参数