每行中带有微调器的Android ListView不会触发OnItemSelected

时间:2014-01-10 04:12:48

标签: android android-layout listview android-listview spinner

我在Android中有一个布局,它有一个ListView,然后使用适配器将另一个布局扩展为行,非常标准。

根据需要包含微调器的行数而膨胀X次的行布局。我将一个seSelectedItemListener添加到Spinner但是当按下Spinner时,会显示选项,然后按下/选择一个项目,然后触发OnItemSelectedListener构造函数,但是覆盖的onItemSelected不是。如果我在列表视图中单独膨胀行布局并在Spinner中选择一个项目,那么onSelectedItem会触发......

为什么会发生这种情况或者如何以这种方式运作的任何想法?

OnItemSelected类:

class SelectedSizeChangeListener implements OnItemSelectedListener {
    Spinner product_size;
    TextView product_sell_price;
    TextView product_cost_price;
    Drink item;
    Drink_Size drink_size;
    SelectedSizeChangeListener()
    {
        String s = "here1";
    }
    public void onItemSelected(AdapterView<?> parent,
        View view, int pos, long id) {

        String s = "here2";
    }

    public void onNothingSelected(AdapterView parent) {

        String s = "here3";
    }
}

将onItemSelected类添加到微调器:

product_size_spinner.post(new Runnable() {
            public void run() {
                product_size_spinner.setOnItemSelectedListener(new SelectedSizeChangeListener());
            }
        });

任何帮助都会很棒!

阿德里安

1 个答案:

答案 0 :(得分:0)

尝试

android:focusable="false" android:focusableInTouchMode="false" 在列表视图中

<强>人提示:

尝试使用PopUpMenu而不是Spinner。

示例android-popupwindow in list View