gpt4 book ai didi

android - 为什么微调监听器需要 onNothingSelected 方法?

转载 作者:IT老高 更新时间:2023-10-28 23:00:28 25 4
gpt4 key购买 nike

母语为英语,所以我想对你们说对不起我糟糕的英语水平。

我从 5 周前开始研究 Android。我试图实现一个微调器,我的导师问为什么需要 onNothingSelected 方法。我无话可说。

那么,为什么我需要那个方法?可以回复一下吗?

以下代码是我的微调器。它正确地完成了我的 Intent 。

 public class SpinnerViewPractice extends Activity {
private Spinner spinner;
private String spinner_value = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.spinnerviewpractice);

spinner = (Spinner)findViewById(R.id.spinner1);

String[] str = {"","good", "dislike", "like", "hate", "moderate"};
spinner.setPrompt("Set Text");
ArrayAdapter<String> list = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, str);
spinner.setAdapter(list);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
TextView tv = (TextView)arg1;
spinner_value = tv.getText().toString();
if(spinner_value.length() == 0)
{
spinner_value = "Nothing";
}
Toast.makeText(SpinnerViewPractice.this, spinner_value, Toast.LENGTH_SHORT).show();
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
Toast.makeText(SpinnerViewPractice.this, "NothingSelected", Toast.LENGTH_SHORT).show();
}
});
}
}

最佳答案

如文档所述:

Callback method to be invoked when the selection disappears from this view. The selection can disappear for instance when touch is activated or when the adapter becomes empty.

这意味着只要从可用项目列表中删除当前选定的项目,就会调用该方法。正如文档所描述的,这可能在不同的情况下发生,但通常如果修改了适配器以使当前选定的项目不再可用,则将调用该方法。

可以使用此方法,以便您可以设置在前一个项目不再可用的情况下将选择哪个项目。这不是让微调器自动选择列表中的下一项。

关于android - 为什么微调监听器需要 onNothingSelected 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16439463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com