繁体   English   中英

setSelection()在一些微调器中的工作不正确

[英]setSelection() in a few spinner work incorrect

我有三个带有相同自定义SimpleCurosAdapter spinner

    spinnerX = (Spinner)findViewById(R.id.spinnerX);
    spinnerY = (Spinner)findViewById(R.id.spinnerY);
    spinnerZ = (Spinner)findViewById(R.id.spinnerZ);
    spinnerX.setAdapter(new SpinnerAd(this, R.layout.my_item, c, from, to));
    spinnerY.setAdapter(new SpinnerAd(this, R.layout.my_item, c, from, to));
    spinnerZ.setAdapter(new SpinnerAd(this, R.layout.my_item, c, from, to));

当我打电话时(例如):

    spinnerX.setSelection(1);
    spinnerY.setSelection(7);
    spinnerZ.setSelection(3);

所有三个微调器setSelection就像最后一个...在位置3 为什么?

所有微调器具有相同的数据(一个光标)

所有三个对象都指向同一个实例吗? (与从XML加载的资源相同)

问题解决了,但是我不明白为什么这么重要,因为

c == dbRead.query(CalcDBHelper.TABLE_VARIABLES, null, null, null, null, null, null);

解决方案,如下设置适配器:

        spinnerX.setAdapter(new SpinnerAd(this, R.layout.formula_variable_item, ActMain.dbRead.query(CalcDBHelper.TABLE_VARIABLES, null, null, null, null, null, null), from, to));
        spinnerY.setAdapter(new SpinnerAd(this, R.layout.formula_variable_item, ActMain.dbRead.query(CalcDBHelper.TABLE_VARIABLES, null, null, null, null, null, null), from, to));
        spinnerZ.setAdapter(new SpinnerAd(this, R.layout.formula_variable_item, ActMain.dbRead.query(CalcDBHelper.TABLE_VARIABLES, null, null, null, null, null, null), from, to));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM