핸들러로  Flag_int 값을 받아서 출력 해보았습니다.

 

처음 값 1을 받아서 출력해본 결과

핸들러 내에서 것

System.out.println("mHandler Flag_int : " + Flag_int);= 1 <- 정상 출력 되었습니다.

 

 

PagerAdapterClass 내의 것

 

  System.out.println("Onitemclick Flag_int : " + Flag_int);=1 <-정상 출력 되었습니다.

 

문제는, 바로 이어서 2값을 핸들러에서 받아서 출력해본 결과

 

핸들러 내에서 것

System.out.println("mHandler Flag_int : " + Flag_int);= 2 <- 정상 출력 되었습니다.


 

PagerAdapterClass 내의 것

System.out.println("Onitemclick Flag_int : " + Flag_int);=1 <-처음 받아온 값을 출력해 버립니다.

 

 

 

물론 Flag_int 이놈은 전역 선언 해놔서 같은놈입니다.

 

어째서 이런 현상이 발생하는지, 해결 방법을 알고 싶습니다.

 

읽어주셔서 감사합니다.~

 

공지사항을 다 읽었음

 

 

 

 

 

public Handler mHandler = new Handler() {  @Override
  public void handleMessage(android.os.Message msg) {
   switch (msg.what) {
   case 2:    System.out.println("msg.obj : " + (String) msg.obj);
    testmsg = (String) msg.obj;
    Flag_int = msg.arg1;
    System.out.println("mHandler Flag_int : " + Flag_int);
    mPagerAdapter.notifyDataSetChanged();
    break;   }   super.handleMessage(msg);
  }


 public class PagerAdapterClass extends PagerAdapter {
  private final int TAB_MAP = 0;
  private final int TAB_MENU = 1;
  private final int TAB_INFO = 2;  private LayoutInflater mInflater;
  Context context;
  ArrayList<InfoData> InfoData = new ArrayList<InfoData>();
  public OrderAdapter adpOrder;
  public InfoAdapter adpInformation;
  View[] mViewList; . . . . . .  else {    v = mInflater.inflate(R.layout.info, null);    final ListView info_list = (ListView) v
      .findViewById(R.id.info_list);    adpInformation = new InfoAdapter(MainActivity.this, InfoData);
    info_list.setAdapter(adpInformation);    info_list.setOnItemClickListener(new OnItemClickListener() {
     public void onItemClick(AdapterView<?> a, View v,
       int position, long id) {      System.out
        .println("Onitemclick Flag_int : " + Flag_int);
      TextView info_name = (TextView) v
        .findViewById(R.id.info_name);
      TextView info_title = (TextView) v
        .findViewById(R.id.info_title);      Intent intent = new Intent(MainActivity.this,
        Info.class);      for (int i = 0; i < adpInformation.getCount(); i++) {
       if (adpInformation.getItem(i).equals(testmsg)) {
        adpInformation.setItem(i, Flag_int);
       }
      }      intent.putExtra("info_name", info_name.getText()
        .toString());
      intent.putExtra("info_flag",
        adpInformation.getflag(position));
      intent.putExtra("info_title", info_title.getText()
        .toString());      startActivity(intent);     }
    });