タップすると石が置けるようになった

石は置けるが、こっから拡張していけるんだろうか。

石を置けた。

最初タップすらできなかった

まぁ、文字を表示する用だもんな、それをタップしてどうのこうのなんて普通やらないんだろうな、とちょっと凹んだとこで調べてみると。

clickableという設定があるみたい。

android:clickable="true"

そんでclickableだけだと

‘clickable’ attribute found, please also add ‘focusable’ less… (Ctrl+F1)
A widget that is declared to be clickable but not declared to be focusable is not accessible via the keyboard. Please add the focusable attribute as well. Issue id: KeyboardInaccessibleWidget

と言われる。キーボードで操作してる人が困るよってことなんだろうけど、これをキーボードで操作する人なんているかな…と思う。でもまぁ、せっかく言ってくれてるんで

android:focusable="true"

も入れてみた。これでタップできるようになった。

TextViewの縦横長を指定

最初電卓と同じようにリスナ作ってハンドラ書いてー、と、ひとマス分だけ書いてみた。

そんでタップすると「○」が表示された。でも列の幅が何故か変わってしまった。

おそらくTextViewのheight,widthをwrap_contentにしてたのが原因かなーと。

android:layout_width="10dp"
android:layout_height="10dp"

と、10dpにしてみたら幅も動かなくなった。

dpで大丈夫なのかな。そこらへんがいまいち分からない。

リスナを64個も書くのやだな

1個だけは書いてみたんだけど、これを64個も繰り返すの…?と思ったら嫌になってきたので、なにか方法はないかと探す。

xmlにonClickの値を設定するといいみたい。

android:onClick="PutStone"

とxmlに追加して、Reversi.javaに

public void PutStone(View view) {
    int id = view.getId();
    switch(id) {
        case R.id.textView00:
//略
TextView output = findViewById(id);
output.setText("○");

とやってみたらできた。

ちなみにswitchのcaseはむっちゃ長い。

探したけどよく分からないの…。

参考

https://qiita.com/nein37/items/0a92556a80c6c14503b2

https://sandragon.hatenablog.com/entry/2013/07/09/014639

http://gucci1208.com/android%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%AA%E3%82%B9%E3%83%8A%E3%83%BC%E3%81%AE%E3%81%BE%E3%81%A8%E3%82%81-197.html

 

カテゴリー: したい タグ: , , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です