微调框:getItemAtPosition(position)始终返回null/empty [英] Spinner: getItemAtPosition(position) is returning always null/empty

查看:257
本文介绍了微调框:getItemAtPosition(position)始终返回null/empty的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我从微调器的下拉列表中选择AdapterView.OnItemSelectedListener时,我想在textView中显示所选的项目,但是当我选择项目时,它总是null/empty,这是我的代码:

I wanted to display selected item in the textView when selected from dropdown list of spinner I implemented AdapterView.OnItemSelectedListener but when I'm selecting item its always null/empty here is my code:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    spinner = (Spinner) findViewById(R.id.spinner);
    spinner.setAdapter(new CustomAdapter(MainActivity.this, Languages));

    btn.setOnClickListener(this);
    spinner.setOnItemSelectedListener(this);

}

@Override
public void onItemSelected(AdapterView<?> parent, 
                        View view, int position, long id) {

    item = (String)parent.getItemAtPosition(position);

        Toast.makeText(MainActivity.this, item.toString(),
                Toast.LENGTH_SHORT).show();
}

@Override
public void onNothingSelected(AdapterView<?> parent) {
}

推荐答案

SO答案源: https://stackoverflow.com/a/49301966/5461982

我知道这是一个老问题了,但是如果遇到其他任何人,请确保检查您为Spinner设置的适配器的自定义实现会覆盖getItem方法:

I know this is an older question now but if anyone else comes across it be sure to check that your custom implementation of the Adapter you're setting for your Spinner overrides the getItem method:

@Override
public Object getItem(int position) {
    return spinnerItems.get(position);
}

默认情况下,在实现自定义BaseAdapter时需要覆盖此方法,但默认返回类型为null.确保将返回类型修改为return spinnerItems.get(position).

By default, you're required to override this method when implementing a custom BaseAdapter but the default return type is null. Be sure to modify the return type to return spinnerItems.get(position).

希望这会有所帮助,我花了大约30分钟的时间尝试解决此问题!

Hope this helps, I spent around 30 mins trying to work this out originally!

这篇关于微调框:getItemAtPosition(position)始终返回null/empty的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆