package org.ntlab.irisclient; import androidx.appcompat.app.AppCompatActivity; import androidx.lifecycle.ViewModelProvider; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import org.ntlab.irisclient.viewmodels.GameViewModel; public class GameMasterActivity extends AppCompatActivity{ //MemberRoomActivityが一番見やすいと思う @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_game_master); //ここでカードとかメンバーを表示する //↓自分のチームかつ、ヒント入力画面の場合のみボタンプロセスを読み込む。それ以外の時は何もできないようにする。if文を描きたいけどまだ確認ができない buttonProcesses(); } public void buttonProcesses(){ Button SendHintButton = (Button) findViewById(R.id.SendHint); SendHintButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { EditText Hint = findViewById(R.id.GameHint); EditText HintMax = findViewById(R.id.GameHintMax); //テキストを適した変数に変更 String hint = Hint.getText().toString(); Integer hintMax = Integer.parseInt(HintMax.getText().toString()); //ニックネームまたは部屋番号が入力されていない場合エラーメッセージを表示する if (hint.isEmpty()) { Hint.setError("ヒントが入力されていません"); } else if (hintMax == null) { HintMax.setError("数字が入力されていません"); } else { //ビューモデルにhintとhintMaxを送信する。まとめて送信できるようになるかも知れないので、いったん放置 } } }); } //操作可能かどうかを調べる関数(いらない?) クリックされる度にチェックするのではなく、masterとかturnをオブザーブしておいて、変更があれば反映する。 public boolean CheckActivity(){ boolean MasterActivity = false; //今は自分のチームのターンかどうかを確認 //今はヒント入力時間かどうかを確認 //ライブデータを監視する GameViewModel gameViewModel = new ViewModelProvider(this).get(GameViewModel.class); //String team = gameViewModel.getTurnLiveData(). return MasterActivity; } }