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()) {



        }
    }


}

SO、どうすればこの問題を解決できますか??、フラグメントのタップされたボタンからポップアップを表示するには??

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 に答える