在android中设置ContentView和inflater

时间:2016-02-13 11:15:09

标签: android adapter setcontentview

请任何人都可以告诉以下

之间的基本区别
  

的setContentView(R.layout.content_main);

  

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

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

但我的问题是---

  

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

4 个答案:

答案 0 :(得分:0)

public class Product { public long id{ get; set; } public string title{ get; set; } public string body_html{ get; set; } } :仅用于将public void setContentView (View view)内容设置为显式视图。

Activity: 用于从指定的xml资源中扩充新的视图层次结构。

你不能在Adapter中使用setContentView(View view),它只能用于public View inflate (int resource, ViewGroup root, boolean attachToRoot)

答案 1 :(得分:0)

@ans = @args[:b].times.inject(1){|acc,v| acc * @args[:a]} 类用于将布局XML文件实例化为其对应的View对象。 换句话说,它将 XML文件作为输入,并从中构建View对象。

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

有关详细信息,请参阅:

答案 2 :(得分:0)

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

答案 3 :(得分:-1)

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