3

我有一个使用片段的应用程序,它工作正常,但我现在必须在点击按钮时实现一些弹出窗口,

我正在关注本教程“使用 PopupWindow 的示例”

但我得到这个错误:

Multiple markers at this line
    - LAYOUT_INFLATER_SERVICE cannot be resolved to a variable
    - The method getBaseContext() is undefined for the type new 
     View.OnClickListener(){}

这是我的.java

public class Tab2HeadH1 extends Fragment   implements OnClickListener{

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

        View view = inflater.inflate(R.layout.tab_2_head_buttons, container,false);

        //Buttons

        Button buttonNose = (Button) view.findViewById(R.id.button_pop_nose);

        buttonNose.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(final View v) {
              //aqui tus tareas,,

                LayoutInflater layoutInflater = (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);  //ERRORS HERE!!

               View popupView = layoutInflater.inflate(R.layout.popup, null);  
                        final PopupWindow popupWindow = new PopupWindow(
                          popupView, 
                          LayoutParams.WRAP_CONTENT,  
                                LayoutParams.WRAP_CONTENT);

            }


        });


        Button buttonEye = (Button) view.findViewById(R.id.button_pop_eye);

        buttonEye.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(final View v) {
               // onLoginClicked(v);
                Toast.makeText(getActivity(), "ss9 eye",
                        Toast.LENGTH_SHORT).show();

            }
        });

return view;
    }



    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {

        super.onViewCreated(view, savedInstanceState);



        ((TabActivity)getActivity()).setHeader("TAPING APPLICATION");
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {



        }
    }


}

那么,我该如何解决这个问题??,从我的片段中的点击按钮显示我的弹出窗口?

4

2 回答 2

14

称呼

LayoutInflater layoutInflater = (LayoutInflater)**getActivity()**.getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);

至少它不会显示错误 onBaseContext() ,因为它现在从关联的活动中获取

编辑

试试这个,

LayoutInflater layoutInflater = (LayoutInflater)getActivity().getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

于 2012-08-01T07:20:06.770 回答
-1
public View onCreateView(LayoutInflater inflater, ViewGroup container,  Bundle savedInstanceState)  {
    super.onCreate(savedInstanceState);

    View myFragmentView = inflater.inflate(R.layout.yourlayout, container,false);
    //inside button onclick write the code given below
    View popupView = inflater.inflate(R.layout.address, null);
}
于 2013-09-27T07:25:13.923 回答