I’m having trouble going from finding each view based on its actual id like this-
TextView updateText = (TextView)findViewById(R.id.courtText1);
to finding each view based on the current value of “i” in my loop, like this-
for(int i=1; i<3; i++){
TextView updateText = (TextView)findViewById(R.id.courtText"i");
}
Here is the layout XML-
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="2dp" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:background="@drawable/row_background"
android:clipToPadding="true"
android:padding="5dp" android:onClick="goToDetail">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/courtText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Moscone Rec Center"
android:textColor="#D8D8D8"
android:textSize="20dp" />
<TextView
android:id="@+id/updateText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#D8D8D8"
android:textSize="15dp" />
<TextView
android:id="@+id/timeText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#D8D8D8"
android:textSize="15dp" />
</LinearLayout>
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_dialog_map" android:onClick="goToMap"/>
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@android:drawable/ic_menu_share" android:onClick="shareUpdate"/>
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:background="@drawable/row_background"
android:clipToPadding="true"
android:padding="5dp" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/courtText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Joe Dimaggio"
android:textColor="#D8D8D8"
android:textSize="20dp" />
<TextView
android:id="@+id/updateText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#D8D8D8"
android:textSize="15dp" />
<TextView
android:id="@+id/timeText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#D8D8D8"
android:textSize="15dp" />
</LinearLayout>
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_dialog_map" />
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@android:drawable/ic_menu_share" />
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:background="@drawable/row_background"
android:padding="5dp" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/courtText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Brentwood Rec Center"
android:textColor="#D8D8D8"
android:textSize="20dp" />
<TextView
android:id="@+id/updateText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#D8D8D8"
android:textSize="15dp" />
<TextView
android:id="@+id/timeText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#D8D8D8"
android:textSize="15dp" />
</LinearLayout>
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_dialog_map" />
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@android:drawable/ic_menu_share" />
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:background="@drawable/row_background"
android:padding="5dp" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Can't find your court?"
android:textColor="#D8D8D8"
android:textSize="20dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Let us know"
android:textColor="#D8D8D8"
android:textSize="15dp" />
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_dialog_email" android:onClick="createSupportEmail"/>
</LinearLayout>
</TableRow>
</TableLayout>
Any thoughts on how to find the value of each item with a loop?
Give your container (
LinearLayout) an id, and iterate over its children.Update: That’s the general idiom for this type of thing. I just looked more closely at your code, and if I understand what you’re trying to do in this case, you want to iterate over the table rows and do something to the specific
TextAreaof each row. If so, then instead ofcourtText1,courtText2, etc., you should get rid of the number. Have onecourtText, oneupateText, and onetimeTextper row. Then do something like this: