package com.example.sprout.rooms; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.Toast; import com.example.sprout.R; import com.example.sprout.R.id; import com.example.sprout.R.layout; import com.example.sprout.Sprout; import net.arnx.jsonic.JSON; import framework.network.CallBack; public class RoomCreateActivity extends Activity { private EditText roomName; private EditText Key; private RoomsConnection connection; private Sprout sprout; private boolean key_check = true; //最初に処理 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(layout.activity_room_create); sprout = (Sprout) getApplication(); roomName = (EditText) findViewById(id.roomcreate_editText1); Key = (EditText) findViewById(id.roomcreate_editText2); //ラジオボタン radio_button(); //戻るボタン back_button(); //作成ボタン room_create_button(); } //ラジオボタン public void radio_button() { RadioGroup radioGroup = (RadioGroup) findViewById(id.roomcreate_radiogroup); radioGroup.check(id.roomcreate_radioButton1); RadioButton radioButton = (RadioButton) findViewById(radioGroup.getCheckedRadioButtonId()); radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedId) { RadioButton radioButton = (RadioButton) findViewById(checkedId); //なし if (checkedId == id.roomcreate_radioButton2) { key_check = false; Key.setVisibility(View.INVISIBLE); Key.getEditableText().clear(); } //あり else { key_check = true; Key.setVisibility(View.VISIBLE); } } }); } //戻るボタン public void back_button() { Button backButton = (Button) findViewById(id.roomcreate_button1); backButton.setOnClickListener(new View.OnClickListener() { //押したらルーム一覧画面へ戻る public void onClick(View v) { Intent intent = new Intent(RoomCreateActivity.this, RoomListActivity.class); startActivity(intent); } }); } //作成ボタン public void room_create_button() { Button createButton = (Button) findViewById(id.roomcreate_button2); createButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { connection = sprout.getRoomsConnection(); connection.setCallBack(new CallBack() { @Override //レスポンスが来た時に解読し実行 public void onResponse(String response) { RoomResponse room = JSON.decode(response, RoomResponse.class); ((Sprout) RoomCreateActivity.this.getApplication()).setRoomId(room.getRoom().getRoomId()); ((Sprout) RoomCreateActivity.this.getApplication()).setMemberId(room.getMemberId()); //押したらルーム画面へ進む Intent intent = new Intent(RoomCreateActivity.this, RoomMainActivity.class); startActivity(intent); } }); //パスワードありかつパスワード未入力の場合 if (key_check == true && Key.length() == 0 || roomName.length() == 0) { Toast.makeText(getBaseContext(), "ルーム名かパスワードが未入力です!", Toast.LENGTH_SHORT).show(); } else { //サーバに送る int userId = ((Sprout) getApplication()).getUserId(); connection.addFormParam("userId", String.valueOf(userId)); connection.addFormParam("roomName", roomName.getText().toString()); if (Key.length() != 0) { connection.addFormParam("key", Key.getText().toString()); } connection.doPost(); } } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.room_create, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }