안녕하세요.
안드로이드 디바이스랑 PC소켓통신을 공부하는 도중에,
버튼을 누르면 해당 스트링을 전송하게 하려고 했는데요
제가 워낙에 프로그래밍 기초가 부족하다보니,
이렇게 버튼에 대한 이벤트를 일일이 따로 따로 썼네요.
switch문과 배열 등을 사용하면 조금 더 간단해 질거 같은데
여간 헤깔리는게 아니네요.ㅠ_ㅠ.
어떻게 좀더 정리정돈 시킬 수 있을까요?
Button btn01;
Button btn02;
Button btn03;
TextView tv;
private String return_msg;
private TextView IP_Field ;
public String real_IP;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn01 = (Button) findViewById(R.id.Btn01);
btn02 = (Button) findViewById(R.id.Btn02);
btn03 = (Button) findViewById(R.id.Btn03);
btn04 = (Button) findViewById(R.id.Btn04);
tv = (TextView) findViewById(R.id.TextView01);
IP_Field = (TextView) findViewById( R.id.nameField ) ;
btn01.setOnClickListener(new OnClickListener() {
public void onClick(View v){
return_msg = "1";
TCPclient tp = new TCPclient(return_msg);
tp.run();
Toast t = Toast.makeText(getApplicationContext(),return_msg, Toast.LENGTH_LONG);
t.show();
tv.setText("1");
}
});
btn02.setOnClickListener(new OnClickListener() {
public void onClick(View v){
return_msg = "2";
TCPclient tp = new TCPclient(return_msg);
tp.run();
Toast t = Toast.makeText(getApplicationContext(),return_msg, Toast.LENGTH_LONG);
t.show();
tv.setText("2");
}
});
btn03.setOnClickListener(new OnClickListener() {
public void onClick(View v){
return_msg = "3";
TCPclient tp = new TCPclient(return_msg);
tp.run();
Toast t = Toast.makeText(getApplicationContext(),return_msg, Toast.LENGTH_LONG);
t.show();
tv.setText("3");
}
});
하나로 하고 만들고 싶으시다면
온클릭 메소드에 인자 View v를 배열의
버튼과 비교하면 될 것 같습니다. ^^