为什么我的吐司不起作用?

时间:2017-01-09 14:12:28

标签: android android-toast

@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用于微调器

3 个答案:

答案 0 :(得分:3)

你试试这个,这可能会对你有所帮助

Toast.makeText(getApplicationContext(), "OnItemSelectedListener :" + parent.getItemAtPosition(pos).toString(), Toast.LENGTH_SHORT).show();

Toast.makeText(YourActivity.this, "OnItemSelectedListener :" + parent.getItemAtPosition(pos).toString(), Toast.LENGTH_SHORT).show();

答案 1 :(得分:2)

尝试使用getContext()而不是getApplicationContext。

答案 2 :(得分:1)

好的,让我们再检查一下代码;

就像我说的,你需要使用当前的mov $1, %al => b001 Activity

  

例如,我的Context名称为Activity ,因此,使用:   MainActivity 这应该是MainActivity.this的背景。但是我   想想你是否在另一个内部使用自己的代码(Activity)   活动,它不会显示,因为它实际上是你的其他地方   知道

另外,我猜你做错了什么(类似的东西:ArrayAdapter.createFromResource issue

我只是引用答案:

  

查询数据,将其放入List Array 并使用此构造函数   ArrayAdapter

parent.getContext()

更新:所以这是:

ArrayAdapter<CharSequence> dataAdapter1 =  new ArrayAdapter(this, 
                                    android.R.layout.simple_spinner_item, yourArrayOrList);

现在应该可以了!