Android 如何在没有XML的情况下创建ListView并以编程方式向其添加项?

Android 如何在没有XML的情况下创建ListView并以编程方式向其添加项?,android,android-layout,android-listview,android-adapter,Android,Android Layout,Android Listview,Android Adapter,是否可以创建一个ListView和一个适配器,在不使用XML的情况下以编程方式向其中添加项?如果是,怎么做?首先,您需要初始化ListView,然后将其添加到活动的布局中。您可以在此处阅读有关此操作的内容: 您将创建一个布局,然后创建一个ListView并将其添加到该布局中 接下来,您需要创建一个自定义适配器。您可以在此处阅读更多有关内容: 例如,您可以使用ArrayAdapter。 ArrayAdapter有一个方法 public View getView (int pos, View c

是否可以创建一个ListView和一个适配器,在不使用XML的情况下以编程方式向其中添加项?如果是,怎么做?

首先,您需要初始化ListView,然后将其添加到活动的布局中。您可以在此处阅读有关此操作的内容:

您将创建一个布局,然后创建一个ListView并将其添加到该布局中

接下来,您需要创建一个自定义适配器。您可以在此处阅读更多有关内容:

例如,您可以使用ArrayAdapter。

ArrayAdapter有一个方法

public View getView (int pos, View convertView, ViewGroup parent)
此方法返回要在列表中的位置pos处显示的视图。在这个方法中,您首先会看到是否已经有了这个位置的视图(通过选中convertView)。如果不这样做,您将根据需要生成一个新视图。您可以在代码中实现这一点,或者更好的是,您可以使用XML文件并膨胀视图

完成适配器设置后,在ListView上调用setAdapter

例如,它可能看起来像这样:

@Override
public void onCreate(Bundle savedInstanceState){
    LinearLayout ll = new LinearLayout(this);
    ListView lv = new ListView(this);
    YourAdapter adapter = new YourAdapter(<parameters here>);
    lv.setAdapter(adapter);

    ll.addView(lv, LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
    setContentView(ll);
}
@覆盖
创建时的公共void(Bundle savedInstanceState){
LinearLayout ll=新的LinearLayout(本);
ListView lv=新的ListView(本);
YourAdapter=新的YourAdapter();
低压设置适配器(适配器);
ll.addView(lv、LayoutParams.FILL\u父级、LayoutParams.FILL\u父级);
setContentView(ll);
}

假设您了解片段和ArrayAdapter,最简单的方法是扩展ListFragment并使用setListAdapter(ArrayAdapter/某些自定义适配器对象)便捷方法添加适配器。如果不使用便利方法,则应使用ListFragment.setListAdapter(…)而不是ListView.setListAdapter(…)。

是的,有一种方法可以做到。@Guardian您知道我该怎么做吗?ListView myListView=新建ListView(上下文);除此之外,这个网站是为了帮助你解决问题,而不是为你编写一个完整的程序。如果您有特定的问题,请向我们展示您所做的工作,我们可以帮助您解决。我们不能只是神奇地预测你做了什么,或者为你构建整个过程。但这里有一个.0005秒的谷歌搜索:在我离开这个页面之前,我必须说:这绝对与他问的问题无关…@Guardanis-他的问题以“我需要用她的适配器和xml以编程方式创建一个listview”。这样做的一部分是创建一个适配器并指定它返回的视图。当然,这实际上并没有创建ListView,但它与问题“无关”。它具体回答了如何以编程方式创建列表项。你需要一个适配器,你可以通过编程创建一个视图并在getView方法中返回它。是的,它以“我需要通过编程创建一个listview”开头,你没有回答任何与此相关的问题。。。它不要求如何创建适配器。“…有她的适配器,没有xml”我给了他一个关于部分问题的基本演练。这又回到了我的观点:这与问题有关,它不是完整的答案。网上有很多资源可以告诉你如何通过编程将视图(如ListView)添加到布局中。我添加了更多内容以供澄清。