如何在片段中创建微调器? [英] How can I create a spinner within a fragment?

查看:81
本文介绍了如何在片段中创建微调器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在片段中创建微调器,但是在进行微调器对话框时,它无法使用".this"识别片段Java类.我不确定应该怎么做,任何帮助将不胜感激.(对话框是在OnCreate方法中定义的)

I'm trying to create a spinner in a fragment but while making the spinner dialog it fails to recognize the fragment java class using ".this". I'm not sure what I should be doing instead and any help would be greatly appreciated. (Dialog is defined in OnCreate method)

ArrayList<String> ingredients = new ArrayList<>();
SpinnerDialog spinnerDialog;
Button add;

spinnerDialog = new SpinnerDialog(Add.this, ingredients, "Select An Ingredient");
    spinnerDialog.bindOnSpinerListener(new OnSpinerItemClick() {
        @Override
        public void onClick(String Ingredient, int i) {

            Toast.makeText(Add.super.getContext(), "Selected ", Toast.LENGTH_SHORT).show();

        }
    });

    add = (Button) getView().findViewById(R.id.add);
    add.setOnClickListener(new View.OnClickListener(){

        @Override
        public void onClick(View v){

            spinnerDialog.showSpinerDialog();

        }

    });

推荐答案

Add.this 是上下文参数.

如果 Add.class 是片段,则在传递上下文参数时使用 getActivity().

If Add.class is a fragment, use getActivity() when passing the context parameter.

但是,如果 Add.class 是一项活动,则改为 Add.this .

But if Add.class is an activity, is Add.this instead.

这篇关于如何在片段中创建微调器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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