为了将项目动态添加到滚动视图中,我已经花了几个小时尝试遵循各种教程,但似乎没有任何效果......
这个想法只是将字符串添加到复选框旁边的 TextView 中,这是在单独的 xml 文件中完成的,我只是希望列表随着我不断添加它们而增长。
目前,只添加了一个字符串(最后一个替换了前一个),并且在任何试图改变它的尝试中,我的应用程序停止工作。这是代码:
TableLayout addPlayersTableLayout;
TableRow tableRow1;
ScrollView addPlayersScrollView;
String[] players = new String[]{ "Blah", "Whatever", "Test", "Nipah!"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPlayersTableLayout = (TableLayout)findViewById(R.id.TableLayout1);
tableRow1 =(TableRow)findViewById(R.id.tableRow1);
addPlayersScrollView = (ScrollView)findViewById(R.id.playersScrollView);
insertPlayerInScrollView();
}
这是应该添加项目的函数的实现:(add_player_row.xml 是应该作为项目的文本视图和复选框的文件)
private void insertPlayerInScrollView() {
LayoutInflater inflator = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View newPlayerRow = inflator.inflate(R.layout.add_player_row, null);
TextView newPlayerTextView = (TextView) newPlayerRow.findViewById(R.id.addPlayerTextView);
CheckBox playerCheckBox = (CheckBox)findViewById(R.id.playerCheckBox);
newPlayerTextView.setText(players[1]);
addPlayersTableLayout.addView(newPlayerRow,0);
}
最后一行代码是它工作的唯一方式,尽管在大多数论坛和教程上,人们会建议我使用 addPlayersScrollView,但如果我这样做,应用程序就会崩溃。所以...有什么想法吗?非常感谢!