【问题标题】:Set ContentView and inflater in android在android中设置ContentView和inflater
【发布时间】:2016-02-13 11:15:09
【问题描述】:

请谁能说出以下之间的基本区别

setContentView(R.layout.content_main);

视图行 = layoutInflater.inflate(R.layout.view, parent, false);

从上面的两种方法我们得到了视图,我知道第二种方法一般在Adapter中用来给视图充气。

但我的问题是——

我们可以使用 setContentView 方法代替 inflator 来获取适配器中的视图...我很困惑,请帮帮我????

【问题讨论】:

    标签: android adapter setcontentview


    【解决方案1】:

    public void setContentView (View view):仅用于将Activity 内容设置为显式视图。

    public View inflate (int resource, ViewGroup root, boolean attachToRoot): 用于从指定的 xml 资源扩展新的视图层次结构。

    您不能在 Adapter 中使用 setContentView(View view),它仅适用于 Activity

    【讨论】:

      【解决方案2】:

      LayoutInflator 类用于将布局 XML 文件实例化为其对应的 View 对象。 换句话说,它将一个 XML 文件 作为输入,并从中构建视图对象。

      setContentView() 只是一个活动方法。每个 Activity 都提供一个带有 id "@+id/content" 的 FrameLayout(即内容视图)。您在 setContentView 中指定的任何视图都将是该 Activity 的视图。请注意,您还可以将视图的实例传递给此方法,例如setContentView(new WebView(this)); 您正在使用的方法版本将在幕后为您放大视图。

      有关更多信息,请考虑阅读:

      【讨论】:

        【解决方案3】:

        每个 Activity 都提供一个带有 id "@+id/content" 的 FrameLayout(即内容视图)。setContentView 只是一个 Activity 方法。无论您在 setContentView 中指定的哪个视图都将是该 Activity.Fragments 的视图,在另一方面,有一个名为 onCreateView 的生命周期方法,它返回一个视图(如果它有一个视图)。最常见的方法是在 XML 中扩充视图并在此方法中返回它。在这种情况下,您需要自己充气。片段没有“setContentView”方法 LayoutInflater.inflate 只是膨胀并返回一个视图(你可以在任何地方使用它)。您仍然需要将该视图设置为 Activity 中的内容视图。

        【讨论】:

          【解决方案4】:

          每个活动都通过其相关视图显示给用户
          否则我们无法在屏幕上看到主题
          所以每个活动都需要一个视图来显示
          setContentView() 是在activity类中定义的方法,用于定义activity的视图,仅此而已
          但充气机是一种从 xml 文件中获取视图的方法
          从带有充气机的 xml 文件中获取视图后,我们可以在任何地方使用它们
          例如在 OnCreateOptionsMenu() 中,我们应该使用充气器从 xml 文件中获取视图

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-03-18
            • 2021-05-19
            • 1970-01-01
            • 2019-02-23
            • 1970-01-01
            • 2011-05-10
            相关资源
            最近更新 更多