android - Spinner 未填充 ArrayAdapter

标签 android android-spinner

所以我的微调器没有以编程方式填充:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.fragment_first_boot__language_selection, container, false);
    setupSpinner(view, R.id.firstLanguageSpinner, R.array.languagesSpinner);
    setupSpinner(view, R.id.secondLanguageSpinner, R.array.languagesSpinner);
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_first_boot__language_selection, container, false);
}

private void setupSpinner(View view, int spinnerResourceId, int arrayResourceId) {
    Spinner spinner = view.findViewById(spinnerResourceId);
    spinner.setSelection(1);

    //Adapts strings into CharSequence.
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this.getContext(), arrayResourceId, android.R.layout.simple_spinner_item);

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
}

但是我一生都无法弄清楚为什么不呢?我将通过 XML 填充它,但是此代码不包含我添加的其他函数。例如,在 setupSpinner 中,我添加了 onClickListener 事件,但该事件不起作用。

最佳答案

onCreateView中,您应该使用return view;,而不是return inflater.inflate...您所做的是膨胀第二个 fragment 的副本,未使用微调数据初始化。

关于android - Spinner 未填充 ArrayAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53576370/

相关文章:

java - 如何扫描所有 IP 地址范围?

java - 空对象引用上的 android.app.ActivityThread.getApplicationThread()'

Android 自定义微调器在 17 台设备上变黑

java - Android 使用一个微调器和两个适配器

androidx 与 Spinner 和自定义对象的数据绑定(bind)

android - RecyclerView 中的 Android Spinners 问题

android - 如何防止 ProgressBar 卡住?

android - 在 Ice Cream Sandwich 的 ContentResolver 中分组

android - AltBeacon:Android 信标库。如何定义Eddystone的区域?

android - 单击另一个微调器时在微调器中获取值