我知道这个问题听起来很奇怪,但是我要完成的基本上是这样的:

假设我有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));


上面的代码未经过编译/检查-而是作为灵感/伪代码,用于说明如何以一种优雅的方式解决此问题。

09-11 05:26