猿问

片段中的findViewById

片段中的findViewById

我试图在片段中创建ImageView,该片段将引用我在XML中为片段创建的ImageView元素。但是,findViewById方法只在扩展活动类时才有效。还有我也可以用在片段里的吗?

public class TestClass extends Fragment {
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        ImageView imageView = (ImageView)findViewById(R.id.my_image);
        return inflater.inflate(R.layout.testclassfragment, container, false);
    }}

这个findViewById方法上有一个错误,该错误声明该方法是未定义的。


白板的微信
浏览 549回答 3
3回答

哆啦的时光机

内Fragment你要上的课onViewCreated()应该始终初始化视图的重写方法,就像在此方法中获得视图对象一样,您可以使用该方法找到视图如下:@Overridepublic void onViewCreated(View view, Bundle savedInstanceState) {     super.onViewCreated(view, savedInstanceState);     view.findViewById(R.id.yourId).setOnClickListener(this);     // or     getActivity().findViewById(R.id.yourId).setOnClickListener(this);}切记在破片的情况下onViewCreated()如果返回NULL或super.onCreateView()从…onCreateView()方法。默认情况下,它将被调用。ListFragment如ListFragment回归FrameLayout默认情况下。注意:您可以在类中的任何地方获得片段视图,方法是getView()一次onCreateView()已经成功执行了。E.getView().findViewById("your view id");
随时随地看视频慕课网APP

相关分类

Android
Java
我要回答