如何在片段方法中获取实现的回调的上下文

Víc*_*tín 2 android android-context android-fragments

我已经为Fragment定义了下一个标题:

public class AllVideosFragment extends Fragment implements AutomaticCallback{
Run Code Online (Sandbox Code Playgroud)

在此片段的内部,我有下一个处理微调器的功能:

// Listener called when spinner item selected
        spinnerLanguages.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parentView, View v, int position, long id) {
                // Get selected row data to show on screen
                String language = ((TextView) v.findViewById(R.id.tvSpinnerRow)).getText().toString();

                if(language.equals(getString(R.string.str_en)))
                    Hawk.put(Config.TV_LANGUAGE, "en");
                if(language.equals(getString(R.string.str_es)))
                    Hawk.put(Config.TV_LANGUAGE, "es");

                //We need to retrive data again
                new AutomaticRequest().getLives(String.valueOf(Hawk.get(Config.TV_LANGUAGE)), **CONTEXT OF THE CALLBACK**);
            }

            @Override
            public void onNothingSelected(AdapterView<?> parentView) {
                // your code here
            }

        });
Run Code Online (Sandbox Code Playgroud)

如果在微调柄方法之外使用该方法,则可以使用“ this”,但在内部我不知道需要使用什么。

new AutomaticRequest().getLives(String.valueOf(Hawk.get(Config.TV_LANGUAGE)), this);
Run Code Online (Sandbox Code Playgroud)

在替换“ this”时我需要调用哪种方法?

谢谢您的帮助。

Mur*_*göz 5

您在匿名范围内,this将引用该范围。如果要通过外部this,则必须在这种情况下明确命名

AllVideosFragment.this
Run Code Online (Sandbox Code Playgroud)