25

フラグメントのスコープ内で ID でビューを見つける方法はありますか? 特殊なリストをレンダリングするために一連のフラグメントを使用しています。フラグメントはレイアウトから読み込まれるため、それらのウィジェットはすべて同じ ID を持ちます。

作成中 (または作成直後) に各ウィジェットにカスタム ID を与える方法を見つけられると思います。ただし、何らかの方法で findViewById をフラグメントのスコープに制限できれば、もっと便利です。

4

5 に答える 5

57
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;
}
于 2012-09-21T18:31:23.387 に答える
24

フラグメント内から:

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);
于 2012-09-21T18:31:10.063 に答える
6

あなたはそれを行うことができますgetView().findViewById()

于 2012-09-21T18:29:58.490 に答える
1

はい、方法があります。rootViewから見つけることができます。最初にフラグメントのrootViewを見つけてからrootView=getView();rootView.findViewById(...);

于 2012-09-21T18:28:47.130 に答える