メソッドを使用してgetChildAt()
、行のどの位置にあるかを判断できます。これは、左右のビューの取得をカバーします。TableLayout の getChildAt メソッドを使用して行を見つけようとすることもできますが、それは価値があるよりも面倒な場合があります。ただし、少し簡単にするために、次のような各 imageView の関数を設定するだけです。
getTopLeft(){
myTableLayout.getChildAt(0).getChildAt(0);
}
getTopMiddle(){
myTableLayout.getChildAt(0).getChildAt(1);
}
getTopRight(){
myTableLayout.getChildAt(0).getChildAt(2);
}
など
ただし、適切な行名 (row_top、row_middle、row_bottom など) を使用して現在の行の上/下にある行を追跡し、他の行のgetChildAt()
メソッドを使用する方が簡単な場合があります。
ただし、これらの方法はすべて、少なくとも見ているビューの位置を知っている必要があることに注意してください。特定のビューがどこにあるかがわからない限り、特定のビューの上にあるビューを知る良い方法はありません。しかし、正直なところ、ドローアブルを変更することを検討する行から ImageView を追加/削除する代わりに、ビューの ID を取得して上、下などのビューを返すメソッドを構築できます。