1

我正在将 Activity 类型的应用程序移植到 Fragments 类型的应用程序。我有点困惑我应该在哪里启动片段的 UI 元素。

例如,如果我FragmentFragmentActivity课堂上启动一个按钮,我不会收到错误

    btnOne = (Button) findViewById(R.id.btn_one);

但是,如果我尝试启动onClick侦听器,则会收到类型错误java.lang.NullPointerException

findViewById再说一次,我在Fragment课堂上找不到方法。

我真的被迫开始FragmentActivity并指定听众Fragment吗?

4

1 回答 1

5

您通常在片段中启动按钮。一个例子是:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View fragmentView = inflater.inflate(R.layout.yourlayout, container, false);

        Button yourbutton = (Button) fragmentView.findViewById(R.id.button);
        yourbutton.setOnClickListener(new View.OnClickListener(){

               @Override
               public void onClick(View v) {
                     //Do your thing
               }
        }

        return fragmentView;
}
于 2012-12-11T15:58:58.133 回答