【发布时间】:2017-05-23 19:47:47
【问题描述】:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.item_listview);
myspinner = (Spinner)findViewById(R.id.spinnertype);
String provider = myspinner.getSelectedItem().toString();
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, type_arrays,R.layout.support_simple_spinner_dropdown_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
myspinner.setAdapter(adapter);
myspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
Toast.makeText(parent.getContext(), "OnItemSelectedListener :" + parent.getItemAtPosition(pos).toString(), Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
}
我尝试了不同种类的吐司,但它仍然不会出现。什么地方出了错? 我查看了一些帖子,它说我不能将 onclicklistener 用于微调器
【问题讨论】:
-
parent.getContext()不应该是Activity的context吗?例如,我的Activity名称是MainActivity所以,使用:MainActivity.this这应该是那个Activity的context。但我想如果你使用自己的代码(parent.getContext()) 在另一个活动中,它不会显示,因为它实际上在你知道的其他地方.. -
@Mohsen ,我确实在微调器下方有一个列表视图。它是覆盖吐司还是仅仅因为我使用了 parent.getContext?
-
好吧,正如我看到你的代码,尝试使用当前的
Activity上下文而不是parent.getContext()。然后,如果看不到Toast,则必须调试代码。另外,您能否尝试在不获取适配器项目的情况下使用简单的吐司?只是:Toast.makeText(MainActivity.this, "OnItemSelectedListener :", Toast.LENGTH_SHORT).show();然后告诉我你能不能看到吐司? -
我已经在我的回答中解释了一切,请检查答案。然后让我们知道发生了什么
标签: android android-toast