价值变化的微调

dev*_*oid 19 android onchange spinner

我的系统中有两个微调器.现在我必须根据第一个微调器值更改第二个微调器的选定值.一旦用户更改第一个微调器值,第二个微调器值将根据第一个微调器的选定值自动设置.怎么实现这个?

I82*_*uch 18

从Hello Spinner教程:

现在创建一个实现AdapterView.OnItemSelectedListener的嵌套类.这将提供一个回调方法,该方法将在从Spinner中选择一个项目时通知您的应用程序.这是这个类应该是什么样子:

public class MyOnItemSelectedListener implements OnItemSelectedListener {

    public void onItemSelected(AdapterView<?> parent,
        View view, int pos, long id) {
      Toast.makeText(parent.getContext(), "The planet is " +
          parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
    }

    public void onNothingSelected(AdapterView parent) {
      // Do nothing.
    }
}
Run Code Online (Sandbox Code Playgroud)

AdapterView.OnItemSelectedListener需要onItemSelected()和onNothingSelected()回调方法.当选择AdapterView中的项时调用前者,在这种情况下,短Toast消息显示所选文本; 当选择从AdapterView中消失时调用后者,在这种情况下不会发生,所以它被忽略了.现在需要将MyOnItemSelectedListener应用于Spinner.返回onCreate()方法并将以下行添加到结尾:spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());

换句话说,您需要创建一个OnItemSelectedListener来修改第二个微调器的值,并将其附加到第一个微调器.

  • 我不明白这个问题.您可以创建一个实现该接口的匿名类,但是您必须在某个时刻创建一个实现该接口的对象,以便将其添加为微调器的侦听器. (2认同)