gpt4 book ai didi

Android:动态创建一个对象列表,每个对象都有自己的按钮和 EditTexts

转载 作者:行者123 更新时间:2023-11-29 02:10:04 25 4
gpt4 key购买 nike

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

最佳答案

我只想为该行创建一个布局文件,使用 LayoutInflator 动态创建它,并为每个创建监听器。我不认为开销会杀死你。

如果它的行数可变,您应该使用自定义 ArrayAdaptor 在 ListView 中执行此操作,并回收您的布局。

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);

LayoutInflator 从您的 xml 布局定义中扩充布局。通常在 Activity 中,你只需将 R.layout.[whatever] 传递给 setContentView,但如果你想动态创建一个 View 并添加它,你可以使用上面的代码(或类似的)。请注意,要填充框并触发按钮,您需要在 View 上调用 findByViewId。我经常错误地在 Activity 上调用该方法(习惯的力量)。

要使用自定义 UI 制作 ListView ,其概念相似,但管道稍微复杂一些,但被广泛描述。这是一个例子:

http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

关于Android:动态创建一个对象列表,每个对象都有自己的按钮和 EditTexts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8003726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com