1

请任何人都可以说出以下之间的基本区别

setContentView(R.layout.content_main);

查看行 = layoutInflater.inflate(R.layout.view, parent, false);

从上面的两种方法我们得到了视图,我知道第二种方法通常在适配器中使用来膨胀视图。

但我的问题是——

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

4

4 回答 4

0

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

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

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

于 2016-02-13T11:30:21.743 回答
0

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

于 2016-02-13T11:35:26.600 回答
0

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

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

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

于 2016-02-13T11:25:26.923 回答
-1

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

于 2016-02-13T11:32:46.133 回答