Android:动态创建对象列表,每个对象都有自己的按钮和编辑文本

Android:动态创建对象列表,每个对象都有自己的按钮和编辑文本,android,Android,我想动态地将行添加到线性布局中,其中每行有2个按钮和2个编辑文本。我不确定最好的组织方式。我本来想为每一行创建一个包含按钮和编辑文本的类,但FindViewByID不能这样工作。另一个想法是为每个对象包含一个布局实例,但如果我有10个对象、20个按钮和20个编辑文本,我不确定在不创建操作侦听器的情况下有效访问布局中的按钮的最佳方法。如果我这样做,是否可以使用包含的布局数组并根据需要添加它们?我只需要为行创建一个布局文件,使用LayoutFlator动态创建它,并为每个行创建侦听器。我不认为你的头

我想动态地将行添加到线性布局中,其中每行有2个按钮和2个编辑文本。我不确定最好的组织方式。我本来想为每一行创建一个包含按钮和编辑文本的类,但FindViewByID不能这样工作。另一个想法是为每个对象包含一个布局实例,但如果我有10个对象、20个按钮和20个编辑文本,我不确定在不创建操作侦听器的情况下有效访问布局中的按钮的最佳方法。如果我这样做,是否可以使用包含的布局数组并根据需要添加它们?

我只需要为行创建一个布局文件,使用LayoutFlator动态创建它,并为每个行创建侦听器。我不认为你的头会死

如果行数可变,则应使用自定义ArrayAdaptor在列表视图中执行此操作,并循环使用布局

LayoutInflater inflater = LayoutInflater.from(this);
View yourRowView = inflator.inflate(R.layout.yourrowfile, null);
yourRowView.findByViewId(R.id.firstButton). setOnClickListener(//blah blah blah

((ViewGroup)findByViewId(R.id.yourParentContainer)).addView(yourRowView);
LAYOUTING工具根据xml布局定义展开布局。通常在活动中,您只需将R.layout.[where]传递给setContentView,但如果您想动态创建视图并添加它,可以使用上面的代码(或类似代码)。请注意,要填充框并触发按钮,需要在视图上调用findByViewId。我经常犯错误,在活动中意外地调用该方法(习惯的力量)

要使用自定义UI创建列表视图,其概念类似,但管道稍微复杂一点,但描述广泛。下面是一个例子:


嗯,好吧,有没有办法让这句话变得简单一点。我才刚开始。我应该创建按钮和编辑文本的布局,然后使用充气机添加它们,对吗?如何使用充气机访问各个布局?我尝试了您的代码,但.from语法不正确。我正在运行2.3.3,从我在互联网上发现的情况来看,它与以前的版本不同。你知道如何在更新的平台上做吗?如果这不起作用,我会感到震惊。取决于你从哪里打电话。邮政编码?如果您在匿名函数中,则需要在“this”前面加上类似MyActivity.this的活动类名。该表单在这里仍然可用:但是,您可以通过艰难的方式使用它:LayoutInflater inflater=(LayoutInflater)context.getSystemService(context.LAYOUT\u inflater\u SERVICE);你需要一个对“上下文”的引用,但既然“this”指向的是上下文,同样的问题也会出现。