フラグメントのスコープ内で ID でビューを見つける方法はありますか? 特殊なリストをレンダリングするために一連のフラグメントを使用しています。フラグメントはレイアウトから読み込まれるため、それらのウィジェットはすべて同じ ID を持ちます。
作成中 (または作成直後) に各ウィジェットにカスタム ID を与える方法を見つけられると思います。ただし、何らかの方法で findViewById をフラグメントのスコープに制限できれば、もっと便利です。
フラグメントのスコープ内で ID でビューを見つける方法はありますか? 特殊なリストをレンダリングするために一連のフラグメントを使用しています。フラグメントはレイアウトから読み込まれるため、それらのウィジェットはすべて同じ ID を持ちます。
作成中 (または作成直後) に各ウィジェットにカスタム ID を与える方法を見つけられると思います。ただし、何らかの方法で findViewById をフラグメントのスコープに制限できれば、もっと便利です。
private View myFragmentView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
myFragmentView = inflater.inflate(R.layout.myLayoutId, container, false);
myView = myFragmentView.findViewById(R.id.myIdTag)
return myFragmentView;
}
フラグメント内から:
getView().findViewById(R.id.your_view);
同封のアクティビティから:
getFragmentManager().findFragmentByTag("YourFragmentTag").getView().findViewById(R.id.your_view);
また
getFragmentManager().findFragmentById(R.id.your_fragment).getView().findViewById(R.id.your_view);
あなたはそれを行うことができますgetView().findViewById()
はい、方法があります。rootViewから見つけることができます。最初にフラグメントのrootViewを見つけてからrootView=getView();
、rootView.findViewById(...);