我有listView
个自定义适配器,我有checkBox
和TextView
,当我选择一些CheckBox时,我将它们添加到{{1}并发送到另一个bundle
。在那个片段中,我有一个简单的TextView,我需要从fragment
获取值并显示在TextView中。但问题是,当我从bundle中获取所选值并在TextView中设置时,它只显示最后一个值。我怎么解决这个问题?谢谢。
这里是我将所选值添加到包中的片段。
bundle
好的,请看这里。 nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ArrayList<Profession> professionList = dataAdapter.getProfessionList();
ArrayList<String> getProfessions = new ArrayList<>();
personalInfoFragment = new PersonalInfoFragment();
for (int i = 0; i < professionList.size(); i++) {
Profession profession = professionList.get(i);
if (profession.isSelected()) {
getProfessions.add(profession.getName());
Bundle setProfessions = new Bundle();
setProfessions.putStringArrayList("String", getProfessions);
personalInfoFragment.setArguments(setProfessions);
}
}
replaceFragment();
}
});
是我需要发送值的片段。并且PersonalInfoFragment
方法替换了片段。我完成了调试,并且已成功将所选值添加到包中。
在replaceFragment
点击它会将所选数据保存到包中并替换该片段。
现在这里是我需要获取包并在textView中显示的片段。
nextButton
ProfessionText是我的textView,我需要设置值。但是,textView只显示了bundle中的最后一项。如何解决这个问题?谢谢你的阅读。
答案 0 :(得分:1)
您可以更改代码,
SELECT object_key, audited_changes, (created_at + INTERVAL 'N HOURS') as created_at
FROM pg_audits
WHERE
source_action = 'funding' AND
created_at >= CURRENT_DATE -1 AND
created_at < CURRENT_DATE
ORDER BY
created_at DESC
在下一个片段中,
for (int i = 0; i < professionList.size(); i++) {
Profession profession = professionList.get(i);
if (profession.isSelected()) {
getProfessions.add(profession.getName());
}
}
Bundle setProfessions = new Bundle();
setProfessions.putStringArrayList("String", getProfessions);
personalInfoFragment.setArguments(setProfessions);
replaceFragment();
答案 1 :(得分:1)
从我所看到的......我需要一个正确显示的值列表..这里发生的事情是每次迭代你为专业文本设置一个新的值,它会覆盖之前的那个......这就是为什么你看到了最后一个值..我想如果你想要一个textview列表,你必须在循环中创建一个新的textview。在这种情况下,你最好使用listview或recycler视图。