UI元素是否在Fragment或FragmentActivity中启动?

san*_*one 1 android android-fragments

我正在将活动类型的应用程序移植到Fragments类型的应用程序.我有点困惑,我应该发起片段的UI元素.

例如,如果我FragmentFragmentActivity课堂上从类中启动一个按钮,则不会出现错误.

    btnOne = (Button) findViewById(R.id.btn_one);
Run Code Online (Sandbox Code Playgroud)

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

然后,我findViewByIdFragment课堂上找不到方法.

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

Max*_*Max 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;
}
Run Code Online (Sandbox Code Playgroud)