0

所以,我有 2 个AutoCompleteTextViews。一个是产品名称,第二个是产品价格。我想做的是:当用户从第一个 ACTV 下拉列表中选择一个选项时,假设他选择Cheese了,我将从我的 sqlite 数据库中获取价格Cheese,将其转换为适配器并将该适配器设置为第二个 AutoCompleteTextView(它只有一个值,即从 ACTV 下拉列表中选择的产品名称的价格)。我不想做 .setText,如果你正在考虑的话。

我负责从数据库中获取价值,我已经对其进行了测试,.setText效果很好,它正在从数据库中获取价值。我现在的问题是将该值设置为 ACTV 适配器。这是我尝试过的:

@Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub
            String blabla=arg0.getItemAtPosition(arg2).toString();
            int blabla2=getWindow().getCurrentFocus().getId() ;
            int nextviewz=blabla2+2;
            AutoCompleteTextView ACpret=(AutoCompleteTextView) findViewById(nextviewz);

            Float belea = sqlliteCountryAssistant.getEmployeeName(blabla);

            ArrayAdapter<Float> adapterz = new ArrayAdapter<Float>(MainActivity.this,
                    R.layout.list_item, belea);
            ACpret.setAdapter(adapterz);
        //  ACpret.setText(belea.toString());

        }
    });

我明白了The constructor ArrayAdapter<Float>(MainActivity, int, Float) is undefined。我想这不是将单个值设置为适配器的方法,我测试过它只适用于String[] or Float[]. 我需要做什么才能使其Float belea成为适配器?在此先感谢,祝您有美好的一天!

4

1 回答 1

2

尝试:

Float[] belea= new Float[1];
belea[0] = sqlliteCountryAssistant.getEmployeeName(blabla);
ArrayAdapter<Float> adapterz = new ArrayAdapter<Float>(MainActivity.this,
                R.layout.list_item, belea);

它有效吗?

于 2013-07-13T10:42:06.203 回答