我知道这个问题听起来很奇怪,但是我要完成的基本上是这样的:
假设我有4个字符串的列表:
ArrayList<String> carList= new ArrayList<>;
carList.add("BMW");
carList.add("GMC");
carList.add("KIA");
carList.add("Honda");
我现在想将3个列表项打印到3个textview中,由于某些原因将第四个项排除在外,并且其位置已知。
int excludedIndex = 2; //for example.
for (int i = 0; i < carList.size(); i++) {
if (i != excludedIndex) {
textView_1.setText(carList.get(i)); // here it will put (BMW) in tv1
textView_2.setText(carList.get(??)); // here it should put (GMC) in tv2
textView_3.setText(carList.get(??)); // here it should put (Honda) in tv3
}
}
最佳答案
基本上,您在问:如何将列表的元素(由其索引标识)映射到某个文本字段。该句子已经包含一种可能的解决方案-通过使用Map<Integer, TextView>
知道哪个文本视图应用于哪个索引。
如:
Map<Integer, TextView> viewsByIndex = ...
for (int i = ... ) {
if (viewsByIndex.containsKey(i)) {
viewsByIndex.get(i).setText(listItem(i));
上面的代码未经过编译/检查-而是作为灵感/伪代码,用于说明如何以一种优雅的方式解决此问题。