Android Studio > GridLayout > 如何获取单元格的位置?
Android Studio > GridLayout > how to get the position of a cell?
<GridLayout
android:id="@+id/gridLayout"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/linearLayout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<Button
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_column="0"
android:onClick="markSquare" />
<Button
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_column="1"
android:onClick="markSquare" />
<Button
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_row="1"
android:layout_column="0"
android:onClick="markSquare" />
<Button
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_row="1"
android:onClick="markSquare" />
</GridLayout>
描述:
每个按钮都在一个单元格内并指向一个名为 "markSquare" 的方法,它看起来像这样:
public void markSquare(View v) {
}
如何获取"v"参数的位置? (我在 "layout_row" 和 "layout_column" 中指定的相同位置)
没有直接获取单元格位置的方法。但是,您使用视图 ID 来获取点击的确切视图。
1: 给button.i.e button1, button2
具体的ids
2:并检查您的视图点击 ID 如下:
public void markSquare(View v) {
switch(v.getId()){
case R.id.button1:{
//Do here what you want
break;
}
case R.id.button2:{
//Do here what you want
break;
}
}
}
<GridLayout
android:id="@+id/gridLayout"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/linearLayout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<Button
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_column="0"
android:onClick="markSquare" />
<Button
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_column="1"
android:onClick="markSquare" />
<Button
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_row="1"
android:layout_column="0"
android:onClick="markSquare" />
<Button
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_row="1"
android:onClick="markSquare" />
</GridLayout>
描述: 每个按钮都在一个单元格内并指向一个名为 "markSquare" 的方法,它看起来像这样:
public void markSquare(View v) {
}
如何获取"v"参数的位置? (我在 "layout_row" 和 "layout_column" 中指定的相同位置)
没有直接获取单元格位置的方法。但是,您使用视图 ID 来获取点击的确切视图。
1: 给button.i.e button1, button2
具体的ids2:并检查您的视图点击 ID 如下:
public void markSquare(View v) {
switch(v.getId()){
case R.id.button1:{
//Do here what you want
break;
}
case R.id.button2:{
//Do here what you want
break;
}
}
}