石は置けるが、こっから拡張していけるんだろうか。
石を置けた。
最初タップすらできなかった
まぁ、文字を表示する用だもんな、それをタップしてどうのこうのなんて普通やらないんだろうな、とちょっと凹んだとこで調べてみると。
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はむっちゃ長い。
探したけどよく分からないの…。
参考
コメント