【Android】FragmentでfindViewById(Idを取得)する方法
FragmentでIdを取得するとき、findViewById
をしてもIdを取得することができません。
FragmentはfindViewById
が定義されていないからです。
ですが、FragmentでIdを取得する方法は簡単にできます。
Idの取得方法
Idの取得は、onCreateView
のなかで処理を行います。
一番最初の状態は以下のようになっていると思います。
public class BlankFragment extends Fragment { . . . @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_blank, container, false); } . . .
上記の状態から以下のように変更します。
public class BlankFragment extends Fragment { . . . @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_blank, container, false); // findViewByIdの前に「view」を付けてIdの取得 Button btn = (Button) view.findViewById(R.id.button); . . . return view } . . .
View view = inflater.inflate(R.layout.fragment_blank, container, false);
と書き換え、最後にreturn view
をします。
そのなかで、Idを取得するためにview.findViewById
とします。findViewById
のまえにview
を付けてあげることで、Idを取得できます。