【问题标题】:Android Multiple Spinner with OnItemSelectedListener带有 OnItemSelectedListener 的 Android 多微调器
【发布时间】:2014-08-20 23:56:13
【问题描述】:

正如我在标题中所说,在标签片段中使用多个微调器 onitemselectedlistener 方法时,我遇到了困难。在我的活动中,会有超过 1 个选项卡,我可以使用选项卡片段毫无问题地实现它。在第一个选项卡中,我通过从 db 加载数据向用户展示他们输入的内容,在第二个选项卡中,我要求他们提供更多信息。我现在遇到的问题是第二个选项卡,其中我使用了 2 个不同的微调器。第一个微调器用于向用户显示他们是否已经输入了一些数据,并且它的适配器填充了来自 db 的数据。在第二个中,我只是展示了一些整数供用户选择。

加载它们以查看没有问题,我可以看到两个适配器都正确填充,但是有一个问题我还不能解决。问题出在我的 onItemSelected 监听器上。

我使用 switch 语句在不同的微调器上做我的事情,如下所示:

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
        long id) {
    Log.d("logging", "parent id is : " + parent.getId() + " view id is : " + view.getId());
        switch (parent.getId()) {
        case R.id.sptChooser:
            Log.d("logging", "load bf from position : " + position);
            loadSPTEntries(position + 1);
            break;
        case R.id.spinnerBorehole:
            sampleDepth = (Double) spinner.getSelectedItem();
            Log.d("logging", " value of clicked item is : " + sampleDepth);
            double value = sampleDepth + .45;
            Log.d("logging", " value of clicked item is after addition : "
                    + value);
            spinnerAdditionText.setText(" - " + value);
            break;

        default:
            break;
        }
}

但是,由于某种原因,我看不到来自第一个微调器 (sptChooser) 的事件,而我可以看到来自 (spinnerBorehole) 的日志。有趣的是,在同一个视图中,当我将选项卡更改为第一个选项卡,然后再次切换回第二个选项卡时,我可以看到现在我也可以从第一个微调器捕获项目选择。

任何关于这个问题的想法都会非常有帮助。

提前致谢。

【问题讨论】:

  • 第二个标签中是否有多个微调器?可以尝试在不同的 Spinner 上添加不同的 OnItemSelectedListener
  • 是的@calvinfly,多个微调器在第二个选项卡中。我尝试使用不同的 OnItemSelectedListener,但行为仍然相同。
  • 在不同的OnItemSelectedListener中,使用switch来区分Spinner?
  • 不,我也使用了不同的侦听器,但没有使用 switch case 实现通用方法,但会发生相同的行为。我会试试你的网站,然后让你知道。非常感谢。
  • 不幸的是,相同的行为是持续存在的。

标签: android android-fragments android-spinner


【解决方案1】:

在挖掘代码之后,我检查了我的数据库方法,它们是 AsyncTask。有趣的是,我可以看到值进入适配器,但它根本不起作用。事先调用我的数据库方法后,我设法毫无问题地工作。

似乎需要先检查 asynctask db 方法..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多