Как добавить текст к кнопкам в макете таблицы и получить этот текст в Android-разработке Tictactoe
Я занимаюсь разработкой приложения для Android, в котором у меня есть табличная раскладка и кнопки внутри этой таблички, и я хотел поместить некоторый текст на эту кнопку по мере нажатия и позже в конце времени, чтобы получить данные, которые я поместил.
Это в основном игра в крестики-нолики. Кто-нибудь, пожалуйста, помогите мне. Это мое первое приложение для Android. Я ранее занимался программированием крестики-нолики в базовом Java-коде, просто пробовал приложение для Android.
`
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center" >
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:layout_marginLeft="2dp"
android:layout_weight="1"
android:background="#ffffff" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:layout_marginLeft="2dp"
android:layout_weight="1"
android:background="#ffffff" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:layout_marginLeft="2dp"
android:layout_weight="1"
android:background="#ffffff" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center" >
<Button
android:id="@+id/button4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:layout_marginLeft="2dp"
android:layout_weight="1"
android:background="#ffffff" />
<Button
android:id="@+id/button5"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:layout_marginLeft="2dp"
android:layout_weight="1"
android:background="#ffffff" />
<Button
android:id="@+id/button6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:layout_marginLeft="2dp"
android:layout_weight="1"
android:background="#ffffff" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center" >
<Button
android:id="@+id/button7"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:layout_marginLeft="2dp"
android:layout_weight="1"
android:background="#ffffff" />
<Button
android:id="@+id/button8"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:layout_marginLeft="2dp"
android:layout_weight="1"
android:background="#ffffff" />
<Button
android:id="@+id/button9"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="2dp"
android:layout_marginLeft="2dp"
android:layout_weight="1"
android:background="#ffffff" />
</TableRow>
</TableLayout>`
3 ответа
Я бы рекомендовал реализовать прослушиватель OnClick для активности,
Затем в XML вы помещаете OnClick в качестве атрибутов.
Когда кнопка нажата, вы можете получить идентификатор кнопки.
вот пример:
YourActivity extends Activity implements OnClickListener
@Override
public void onClick(View v) {
int id = v.getId();
Button b = (Button) v;
// Your Code
b.setText();
}
Затем в XML добавить эту строку для кнопок
андроид: OnClick="OnClick"
В коде Java на каждом триггере события onClick установите желаемый текст, который вы хотите использовать,
Button b = (Button) findViewById(R.id.button1);
b.setText("text");
А потом получить этот текст, используя,
String text = b.getText();
В onCreate:
Button NAME = (Button) findViewById(R.id.YOUR_BUTTON_ID);
NAME.setOnClickListener(new OnClickListener(){
@Override
//On click function
public void onClick(View view) {
NAME.setText(“SOMETHING”);
}
});