안녕하세요. 각 Activity에서 통신을 담당하는 클래스로 값을 넘겨 결과를 받아서 각 요청한 Activity에 뿌려줄려고 하는데 오류가 발생합니다.

OxList.java 에서 SocketClient.java 클래스 파일로 값을 넘겨 결과를 받아서 OxList.java의 sendMsg(String msg, int partInt)가 실행됨
OxQuiz.java 에서 SocketClient.java 클래스 파일로 값을 넘겨 결과를 받아서 OxQuiz.java의 sendMsg(String msg, int partInt)가 실행됨

위와같은 과정이 되어야 하는데 아래 소스보시면 SocketClient를 생성하면서  socketClient = new SocketClient(this,flag);와같이 flag로 구분할수 있게 넘겼습니다. 
그런데 flag를 1로해도(OxList) SocketClient에서는 OxQuiz로 인식을 하여 OxList에서 요청시 오류가 발생합니다.

현재 구현할려는 형식은 아래와  같습니다

socketClient = new SocketClient(this,); <==OxQuiz에서 SocketClient 생성후 this로 값을 넘김

socketClient = new SocketClient(this); <==OxList에서 SocketClient 생성후 this로 값을 넘김
이와같이 SocketClient(this)로 했을경우 아래와 같이 어느Activity인지를 확인하여 해당Activy로 결과를 리턴할려고 합니다.
public SocketClient{
   public static OxList oxlist=null;
   public static OxQuiz oxquiz=null;

   public SocketClient(Activity activity,int flag) {

        super();

       if(flag==0){

          oxquiz =(OxQuiz)activity; 

       }else{

           oxlist =(OxList)activity;

       }

    public recvMsg(msg,flag){

if(flag==0){

           oxquiz.sendMsg(msg);

        }else{

           oxlist.sendMsg(Msg);

        }

   }

}




===================================소스===================================
========OxList.java========

public class OxList extends Activity {
private Button sendButton;
private EditText inputTxt;
private ArrayList<OxMsg> list = new ArrayList<OxMsg>();
private ListView oxList;
private ListAdapter adapter;
private SocketClient socketClient;
private int flag=0;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
sendMsg("OX퀴즈가  시작되었습니다." + "퀴즈대한민국", 1);
inputTxt = (EditText) findViewById(R.id.input_box);
sendButton = (Button) findViewById(R.id.send);
socketClient = new SocketClient(this,flag);             <=flag값을 0로 주어 SocketClient로 넘겨준다
sendButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String msgString = inputTxt.getText().toString();
socketClient.sendMessage(msgString);
sendMsg(msgString, 1);
inputTxt.setText("");
}
});
}
  public void sendMsg(String msg, int partInt) {
Log.d("OxQuiz","받은메세지:"+meMsg+"//보낸주체:"+partInt);
//리스트뷰에 add처리한다....
}
}
========OxQuiz.java========

public class OxQuiz extends Activity {
private Button sendButton;
private EditText inputTxt;
private ListView olist;
private ListAdapter adapter;
private SocketClient socketClient;
private int flag=1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
oxList = (ListView) findViewById(android.R.id.list);
sendMsg("다음퀴즈로 넘어갑니다.." + "퀴즈대한민국", 1);
inputTxt = (EditText) findViewById(R.id.input_box);
sendButton = (Button) findViewById(R.id.send); // 전송하기
socketClient = new SocketClient(this,flag);                 <=flag값을 1로 주어 SocketClient로 넘겨준다
sendButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String msgString = inputTxt.getText().toString();
socketClient.sendMessage(msgString);
sendMsg(msgString, 1);
inputTxt.setText("");
}
});
}
 
    void sendMsg(String msg, int partInt) {
Log.d("OxQuiz","받은메세지:"+meMsg+"//보낸주체:"+partInt);
}
}

========SocketClient.java========

public class SocketClient{
public static OxList oxlist=null;
public static OxQuiz oxquiz=null;
    public SocketClient(Activity activity,int flag) {
super();
if(flag==0){
oxquiz =(OxQuiz)activity; <=하나일경우 이렇게 하면 되는데 OxList에서 요청이 왔을경우엔 어떤식으로 해야할지 문의 드립니다.
}else{
oxlist =(OxList)activity; <== 이런식으로 요청하는 곳의 Activity가 하나 이상일경우 처리가 궁금합니다.
}
   }
        ....
....
   public  void RequestSend(String msg,int partInt) {
       switch (Integer.parseInt(partInt)) {
          case 1:
                 oxlist.sendMsg(msg,2);  <=요청한 Activity가 OxList 일경우 요청한 Activity로 값을 넘긴다.
              break;
         case 2:
                 oxquiz.sendMsg(msg,2); <=요청한 Activity가 OxQuiz 일경우 요청한 Activity로 값을 넘긴다.
     break;
 default: 
break; 
     }
  }
}