gpt4 book ai didi

android - AdapterView.OnItemSelectedListener 正在返回 NULL View

转载 作者:太空宇宙 更新时间:2023-11-03 11:09:36 29 4
gpt4 key购买 nike

我有以下代码:

public class OnboardingActivity extends BaseLoggedInActivity
implements CountryPickerDialog.ICountryPickerDialogUsers, AdapterView.OnItemSelectedListener {
private Spinner _countryCodeSpinner;

.
.
.
private void setupCountrySpinner() {
List<String> sortedCountryCodeList = CountryData.getInstance().getSortedCountryCodes();
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
R.layout.country_code_spinner_item,
sortedCountryCodeList);
_countryCodeSpinner.setOnItemSelectedListener(this);
_countryCodeSpinner.setAdapter(adapter);
_countryCodeSpinner
.setOnTouchListener(getCountryCodeSpinnerTouchListener(_countryCodeSpinner));
int position = getDefaultCountryNamePosition();
if (position >= 0) {
_countryCodeSpinner.setSelection(position);
}
}

.
.
.
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
_logger.debug("Inside onItemSelected");
view.setSelected(true);
}

我在上面的函数 onItemSelected 中遇到空指针异常。它返回 NULL View 。我从其中一位用户那里收到的这条痕迹,但我自己无法重现。使用 NULL View 调用 onItemSelected 的原因可能是什么?

谢谢

最佳答案

这可能是配置更改后导致的,例如旋转设备。您的微调器已重新创建,并且您在 onItemSelected 回调中收到一个空参数。

您可以在您的实现中将 View 注释为@nullable 然后

if (view != null) {view.setSelected(true);}

如果您使用的是 Kotlin,请尝试以下操作:

override fun onItemSelected(parent: AdapterView<*>, view: View?, position: Int, id: Long){
view?.isSelected = true
}

关于android - AdapterView.OnItemSelectedListener 正在返回 NULL View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27820951/

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