1

Activity系アプリをFragments系アプリに移植しています。フラグメントの UI 要素をどこで開始するべきか、少し混乱しています。

たとえば、Fragmentクラス内のFragmentActivityクラスからボタンを開始すると、エラーは発生しません

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