在fragment中findViewById

有没有办法在片段的范围内通过id查找视图? 我正在使用一系列的片段来呈现一个专门的列表。 碎片从布局加载,所以他们的小部件都有相同的ID。

我想我可以找出一种方法来给每个小部件创build过程中(或之后)的自定义ID。 然而,如果我能以某种方式限制findViewById到片段的范围,那将会好很多。

Solutions Collecting From Web of "在fragment中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()

是的,有一种方法,你可以通过rootViewfind它。 首先find你的片段的rootView=getView(); 然后使用rootView.findViewById(...);

  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootview=null; rootview=inflater.inflate(R.layout.fragment_web_view, container, false); ListView lv = (ListView)rootview.findViewById(android.R.id.list); return rootview; // Inflate the layout for this fragment //return inflater.inflate(R.layout.fragment_web_view, container, false); }